Struts2 jstlc:set和Struts s:set是不希望的数字格式

Struts2 jstlc:set和Struts s:set是不希望的数字格式,struts2,jstl,Struts2,Jstl,正在输出12345 有没有办法打破这种行为?试试这个 <c:out value="${id}" /> <s:property value="%{id}" /> 一旦您知道,在Struts2标记中,您可以使用getText以所需的方式格式化数字,例如: 因为您使用getText或标记获取值,所以长值将根据区域设置进行格式化。要防止这种情况发生,请将long转换为string 使用标记,您可以在value属性中直接调用toString方法 <s:text name="

正在输出12345

有没有办法打破这种行为?

试试这个

<c:out value="${id}" />
<s:property value="%{id}" />
一旦您知道,在Struts2标记中,您可以使用getText以所需的方式格式化数字,例如:


因为您使用getText或标记获取值,所以长值将根据区域设置进行格式化。要防止这种情况发生,请将long转换为string

使用标记,您可以在value属性中直接调用toString方法

<s:text name="id" > <s:param name="value" value="id"/> </s:text>

有关具体的格式化算法,请查看类及其子格式方法。

Remove scope=request。Remove scope会使变量在其使用位置不可用。您想在请求中的何处使用它。属性正在使用它生成指向文档的链接。e、 g.xmlDocumentUrl=xmlDocument.action?xmlDocumentId={xmlDocumentId}我可以通过创建另一个以字符串而不是长字符串形式返回id的访问器来解决这个问题,但我更愿意了解为什么c:set和s:set是格式化数字。如何构造url-s?使用S2标记来完成此操作。安德里亚:谢谢,但问题是set标签在格式化我的号码,而我不想这样做。如何阻止set标记格式化数字?
<s:text name="id" > <s:param name="value" value="id"/> </s:text>
<s:set var="xmlDocumentId" value="id.toString()" scope="request" />