您的位置:首页 > 编程语言 > Java开发

struts2 的<s:number > 标签的使用

2013-12-13 15:35 411 查看
关于struts2的各种标签的使用,网上资料还是很多的,但是唯独这个number标签,资料很少。不知道是不是因为太简单,没人乐意写。我觉得这个东西还是很有用的,写几句。

标签定义文件:struts-tags.tld在struts2-core-x.x.x.jar 这个包下面,摘抄以下定义出来:

<tag>
<description><![CDATA[Render a formatted number.]]></description>
<name>number</name>
<tag-class>org.apache.struts2.views.jsp.NumberTag</tag-class>
<body-content>empty</body-content>
<attribute>
<description><![CDATA[The currency to use for a currency format]]></description>
<name>currency</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description><![CDATA[Whether grouping is used]]></description>
<name>groupingUsed</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description><![CDATA[Deprecated. Use 'var' instead]]></description>
<name>id</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description><![CDATA[Maximum fraction digits]]></description>
<name>maximumFractionDigits</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description><![CDATA[Maximum integer digits]]></description>
<name>maximumIntegerDigits</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description><![CDATA[Minimum fraction digits]]></description>
<name>minimumFractionDigits</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description><![CDATA[Maximum integer digits]]></description>
<name>minimumIntegerDigits</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description><![CDATA[The number value to format]]></description>
<name>name</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description><![CDATA[Parse integer only]]></description>
<name>parseIntegerOnly</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description><![CDATA[The rounding mode to use - not implemented yet as this required Java 1.6]]></description>
<name>roundingMode</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description><![CDATA[Type of number formatter (currency, integer, number or percent, default is number)]]></description>
<name>type</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<description><![CDATA[Name used to reference the value pushed into the Value Stack]]></description>
<name>var</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<dynamic-attributes>false</dynamic-attributes>
</tag>


有兴趣就挖掘以下org.apache.struts2.views.jsp.NumberTag类的源码咯。

写个例子,一看就清楚了:

Action类:

package test.action;

import java.util.ArrayList;
import java.util.List;
import test.model.User;
import com.opensymphony.xwork2.ActionSupport;

public class TestAction extends ActionSupport {
private static final long serialVersionUID = 2752911709036089235L;
private int num;
private List<User> userList;
public String testNumber(){
num = 56466126;
userList = new ArrayList<User>();
userList.add(new User("Mike",4546645));
userList.add(new User("Sam",2389469));
userList.add(new User("Keven",8923741));
return SUCCESS;
}

//getter and setter
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public List<User> getUserList() {
return userList;
}
public void setUserList(List<User> userList) {
this.userList = userList;
}
}


User.java

package test.model;

public class User {
private String name;
private int salary;

public User(){}

public User(String name,int salary){
this.name = name;
this.salary = salary;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
}


JSP: number.jsp
<%@ taglib prefix="s" uri="/struts-tags"%>

<s:property value="num"/><br>

<s:number name="num" groupingUsed="true" type="currency" maximumFractionDigits="0" /><br>
<s:number name="num" groupingUsed="true" type="integer" maximumFractionDigits="0" /><br>
<s:number name="num" groupingUsed="true" type="integer" maximumFractionDigits="2" minimumFractionDigits="2"/>
<br>
<br>
<s:iterator value="userList" >
<s:property value="name"/> <s:number name="salary" groupingUsed="true" type="integer" maximumFractionDigits="0" /><br>
</s:iterator>

<br>
<br>
<s:iterator value="userList" >
<s:property value="name"/> <s:number name="salary" groupingUsed="true" type="currency" maximumFractionDigits="2" minimumFractionDigits="2"/><br>
</s:iterator>


struts.xml

<action name="number" class="test.action.TestAction" method="testNumber" >
<result name="success" >/number.jsp</result>
</action>


该标签的其他属性:



没啥好说的,就这样。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: