关于webwork+freemarker的简单实例

简介:

 

关于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>


访问:


http://www.test.com/test.jspa

 

输出结果:

 

目录
相关文章
|
5天前
|
前端开发 Java 数据库
【Spring原理进阶】SpringMVC调用链+JSP模板应用讲解
【Spring原理进阶】SpringMVC调用链+JSP模板应用讲解
|
8月前
|
前端开发 Java Spring
SpringMVC 中的视图如何使用 Thymeleaf
SpringMVC 中的视图如何使用 Thymeleaf
|
前端开发 Java
传统SpringMvc+JSP与SpringMvc+Freemarker的异同
也许都会有个这样的疑问,Freemarker确实可以做很多页面的事情,比如说一些页面逻辑,if else list,等等。可是实在是看不出他比jsp功能多出什么,或者说简化了什么。比如说页面显示逻辑,jsp的EL同样可以做到,而且感觉语法也差不多,也没有麻烦什么,再比如说$语法,el也有啊。真不明白它那里比jsp好了。还有如果用ftl模板文件,那么美工怎么去做?只有把生成的页面保存下来然后再设计css。分工是做到了,可是协调的问题有出现可以做很多页面的事情,比如说一些页面逻辑,if else list。
77 0
传统SpringMvc+JSP与SpringMvc+Freemarker的异同
|
存储 Java Apache
Java Web之Struts2高级技术的应用(OGNL、标签库、拦截器、数据验证)
Java Web之Struts2高级技术的应用(OGNL、标签库、拦截器、数据验证)
163 0
Java Web之Struts2高级技术的应用(OGNL、标签库、拦截器、数据验证)
|
前端开发 Java
JavaWeb - JSP & Freemarker & Velocity 区别
JavaWeb - JSP & Freemarker & Velocity 区别
128 0
|
前端开发
Freemarker - 基础篇(下)
Freemarker - 基础篇(下)
166 0
Freemarker - 基础篇(下)
|
前端开发 Java
Freemarker - 基础篇(上)
Freemarker - 基础篇(上)
313 0
Freemarker - 基础篇(上)
|
前端开发 Java 数据库
Web---JSP注册技术的演绎(3代)-JSP/EJB/Servlet/POJO/JavaBean
Web---JSP注册技术的演绎(3代)-JSP/EJB/Servlet/POJO/JavaBean
117 0
|
前端开发 JavaScript Java