关于webwork+freemarker的简单实例
action类:
public class TestAction extends CoreActionSupport implements BaduObjectLoader {
public List getUsers() {
return users;
}
private List users;
public String execute() {
List users_=new ArrayList();
BigDecimal amount1 = new BigDecimal(Double.toString(99999999.66));
BigDecimal amount2 = new BigDecimal(Double.toString(88888888.77));
BigDecimal amount3 = new BigDecimal(Double.toString(77777777.88));
TopInUser u1=new TopInUser();
u1.setCount(10002);
u1.setNickname("zhangsan");
u1.setUid(123);
u1.setAmount(amount1);
TopInUser u2=new TopInUser();
u2.setCount(10003);
u2.setNickname("zhangsan");
u2.setUid(123);
u2.setAmount(amount2);
TopInUser u3=new TopInUser();
u3.setCount(1044);
u3.setNickname("zhangsan444");
u3.setUid(5555);
u3.setAmount(amount3);
users_.add(u1);
users_.add(u2);
users_.add(u3);
users=users_;
return SUCCESS;
}
public String loadObjects() throws Exception {
// TODO Auto-generated method stub
return SUCCESS;
}
}
实体类:
public class TopInUser {
private long uid; //用户id
private int count; //数量
private String nickname; //用户昵称
private java.math.BigDecimal amount; //金额
public java.math.BigDecimal getAmount() {
return amount;
}
public void setAmount(java.math.BigDecimal amount) {
this.amount = amount;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public long getUid() {
return uid;
}
public void setUid(long uid) {
this.uid = uid;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
}
webwork配置文件:
<action name="test" class="com.guagua.vas.top.action.TestAction">
<result name="success" type="freemarker">/test/index.html</result>
</action>
注意属性:type="freemarker" 表示 视图采用freemarker来显示数
官方推荐为模板文件后缀为ftl,其他后缀也可以 这里为html
下面看index.html:
<html>
<body>
<h1>webwork freemarker demo</h1>
<br/>
total: ${users?size} <br/><br/>
<#list users as user>
<li>
${user_index+1}---------- ${user.uid?c}-${user.count?c}-${user.nickname}---${user.amount?c}
</li>
</#list>
<h1>webwork freemarker demo</h1>
<#list users as user>
<li>
${user_index+1}---------- ${user.uid?c}-${user.count?c}-${user.nickname?substring(0,5)?trim?upper_case}---${user.amount?c}
</li>
</#list>
<hr/>
get first object: <br/>
first : ${users?first.uid?c} <br/><br/>
get last object: <br/>
last : ${users?last.uid?c} <br/><br/>
<hr/>
<#list users as user>
<#if user_index=0>
<li>
第一 ${user_index+1}---------- ${user.uid?c}-${user.count?c}-${user.nickname?substring(0,5)?trim?upper_case}---${user.amount?c}
</li>
</#if>
<#if user_index=1>
<li>
第二 ${user_index+1}---------- ${user.uid?c}-${user.count?c}-${user.nickname?substring(0,5)?trim?upper_case}---${user.amount?c}
</li>
</#if>
<#if user_index=2>
<#break>
<li>
第三 ${user_index+1}---------- ${user.uid?c}-${user.count?c}-${user.nickname?substring(0,5)?trim?upper_case}---${user.amount?c}
</li>
</#if>
</#list>
<hr/>
<#list users as user>
<#assign i = user_index>
${i}
<#switch i>
<#case 0>
<li>
${user_index+1}---------- ${user.uid?c}-${user.count?c}-${user.nickname?substring(0,5)?trim?upper_case}---${user.amount?c}
</li>
<#break>
<#case 1>
<li>
${user_index+1}---------- ${user.uid?c}-${user.count?c}-${user.nickname?substring(0,5)?trim?upper_case}---${user.amount?c}
</li>
<#break>
<#case 2>
<li>
${user_index+1}---------- ${user.uid?c}-${user.count?c}-${user.nickname?substring(0,5)?trim?upper_case}---${user.amount?c}
</li>
<#break>
<#default>
</#switch>
</#list>
</body>
</html>
访问:
输出结果: