Rak*_*yal 2 java displaytag number-formatting
我得到的金额像4567.00,8976.00等.现在,虽然在displaytag中显示这个值我想打印为$ 4567.00而不是4567.00.我怎样才能做到这一点?只要我想使用显示标签.我可以使用core:out标签来实现相同的功能.
$<core:out value="${variableInMyList}" />
Run Code Online (Sandbox Code Playgroud)
找到答案[我是怎么做到的]
创建一个新类:
public class NumberFormatDecorator implements DisplaytagColumnDecorator{
Logger logger = MyLogger.getInstance ( );
public Object decorate(Object columnValue, PageContext pageContext, MediaTypeEnum media) throws DecoratorException {
try
{
Object colVal = columnValue;
if ( columnValue != null ){
colVal = Double.parseDouble( (String)columnValue );
}
return colVal;
}catch ( Exception nfe ){}
logger.error( "Unable to convert to Numeric Format");
return columnValue; // even if there is some exception return the original value
}
}
Run Code Online (Sandbox Code Playgroud)
现在在显示标签
<displaytag:column title="Amount" property="amount" decorator="com.rj.blah.utils.decorator.NumberFormatDecorator" format="$ {0,number,0,000.00}"/>
Run Code Online (Sandbox Code Playgroud)
注意:我们可以使用displaytag:column的formatFormat格式属性
小智 8
你班上需要什么?您可以按如下方式编写它:
<displaytag:column property="amount" format="$ {0,number,0,000.00}"/>
Run Code Online (Sandbox Code Playgroud)