<c:set var="xmlDocumentId" value="${id}" scope="request" />
<s:set var="xmlDocumentId" value="%{id}" scope="request" />
根据区域设置格式化ID,将xmlDocumentId设置为"12,345"
,同时:
<c:out value="${id}" />
<s:property value="%{id}" />
正在输出&#34; 12345&#34;。
任何想法如何打破这种行为?
答案 0 :(得分:1)
由于您通过getText
或<s:text>
标记获得了价值,因此您的长值会根据区域设置进行格式化。为了防止这种情况发生,请将您的long转换为字符串。
使用<s:set>
标记,您可以直接在toString()
属性中调用value
方法。
<s:set var="xmlDocumentId" value="id.toString()" scope="request" />
对于具体的格式化算法,请查看java.text.MessageFormat
类及其subformat
方法。
答案 1 :(得分:0)
知道how to format numbers in Java后,在Struts2 <s:property/>
标记中,您可以使用getText()
以所需方式格式化您的号码,例如:
<s:property value="getText('{0,number,#,##0}',{id})"/>
答案 2 :(得分:-2)
试试这个
<s:text name="id" > <s:param name="value" value="id"/> </s:text>