Spring FORM标签库-单选按钮,从消息源加载其LABEL属性
作者:互联网
我正在基于Spring MVC的应用程序上工作,并将spring标记库用于表单数据绑定.我很高兴地使用了该标签,直到我意识到与单个无线电相关的标签不是从消息源中拾取的,而是在JSP中进行了硬编码的.我以前没能以某种方式注意到它,所以现在我想去解决这个问题,在这里我遇到了一个愚蠢的小问题,希望您能为我提供帮助.
好的,这可行:
<form:radiobutton path="metric" value="0" label="inches" />
<form:radiobutton path="metric" value="1" label="centimeters" />
这不是.
<form:radiobutton path="metric" value="0" label="<fmt:message key="label.calculator.units.imperial" />" />
<form:radiobutton path="metric" value="1" label="<fmt:message key="label.calculator.units.metric" /> " />
问题是fmt:message标签嵌套在format:radiobutton标签中.我得到的原因是:org.apache.jasper.JasperException:/WEB-INF/jsp/calculator/calculator.jsp(15,100)PWC6212:堆栈跟踪中应包含相等的符号.
还有其他方法可以使单选按钮的标签从消息源加载吗?我想我可以使用< c-rt:set>首先将消息源中的消息文本设置为变量,然后将${varname}设置为label =“”属性…,但这似乎有点麻烦.有什么建议么?
解决方法:
尚未使用< form:radiobutton>标记,但据我所知,您别无选择,只能将消息设置为变量,然后像label =“ ${varname}”一样使用它.
另一种选择是松开label属性,然后手动打印标签,例如:
<spring:message code="label.calculator.units.imperial" /><form:radiobutton path="metric" value="0" />
<spring:message code="label.calculator.units.metric" /><form:radiobutton path="metric" value="1" />
当然,HTML结果会有所不同.您必须自己控制标签,而不是生成< label for =“ ...”的单选按钮标签.
标签:spring,radio-button,internationalization 来源: https://codeday.me/bug/20191102/1988854.html