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

 

输出结果:

 

目录
相关文章
|
2月前
|
XML 数据格式
SpringMVC中使用FreeMarker实践
SpringMVC中使用FreeMarker实践
41 0
|
2月前
|
XML Java 数据格式
JAVAEE框架之Spring注解
JAVAEE框架之Spring注解
47 0
|
Java 数据库连接 数据库
JAVA三大框架Struts、hibernate和spring的各自作用是什么?
JAVA三大框架Struts、hibernate和spring的各自作用是什么?
60 0
|
Java Spring 容器
Spring框架:第九章:Spring整合Web
Spring框架:第九章:Spring整合Web
130 0
Spring框架:第九章:Spring整合Web
|
Java 容器 Spring
SpringMVC学习(十一):注解配置SpringMVC
使用配置类和注解代替web.xml和SpringMVC配置文件的功能
123 0
|
前端开发 Java
传统SpringMvc+JSP与SpringMvc+Freemarker的异同
也许都会有个这样的疑问,Freemarker确实可以做很多页面的事情,比如说一些页面逻辑,if else list,等等。可是实在是看不出他比jsp功能多出什么,或者说简化了什么。比如说页面显示逻辑,jsp的EL同样可以做到,而且感觉语法也差不多,也没有麻烦什么,再比如说$语法,el也有啊。真不明白它那里比jsp好了。还有如果用ftl模板文件,那么美工怎么去做?只有把生成的页面保存下来然后再设计css。分工是做到了,可是协调的问题有出现可以做很多页面的事情,比如说一些页面逻辑,if else list。
85 0
传统SpringMvc+JSP与SpringMvc+Freemarker的异同
|
设计模式 JSON 前端开发
springmvc(一) springmvc框架原理分析和简单入门程序
springmvc这个框架真的非常简单,感觉比struts2还更简单,好好沉淀下来学习~
350 0
springmvc(一) springmvc框架原理分析和简单入门程序
|
Web App开发 JavaScript Java
ExtJS+SpringMVC+Spring+Hibernate的一种实现(蒋锋代码分析)
今天以前我写的java环境下web应用都是这种形式:1--自己写的@Controller中的handler方法采用Spring+Hibernate的方式读取数据,读取到我们自定义的PO中(从硬盘读取到内存中)。
8995 0
|
Web App开发 前端开发 Java
SpringMVC源码阅读:过滤器
SpringMVC源码阅读:过滤器 目录 1.前言 2.源码分析 3.自定义过滤器 3.1 自定义过滤器继承OncePerRequestFilter 3.2 自定义过滤器实现Filter接口 4.
1784 0
|
Java Maven Spring
DWR+SpringMVC整合的方式
DWR+SpringMVC整合的方式http://www.bieryun.com/1497.html 这种方式的时候也遇到了一个很无语的问题,我原来使用的是maven下载的dwr-3.0.M1.jar包,然后运行jetty没错,显示jsp的时候就一直报下面这个错误: org.
1277 0