zoukankan      html  css  js  c++  java
  • [Freemarker]

    struts中的component标签,可以用来调用freemarker的ftl模板文件,使用component标签传参可以这样写:

    使用property方式写法:

        <s:component template="gridComponent.ftl" templateDir="/WEB-INF/template">
               <s:param name="grid" value="userss"></s:param>
        </s:component>

    使用request的get/set attribute方法的写法:

        <s:component template="gridComponent.ftl" templateDir="/WEB-INF/template">
               <s:param name="grid" value="#request.users"></s:param>
        </s:component>

    使用ftl读参数的方法:

    <#assign s=JspTaglibs["/struts-tags"] />
    <#assign req = parameters.grid />
    <#list req as item>
        ${item["userName"]}
    </#list>

    普通的struts action:

    package com.obs.actions.admin;
    
    import java.util.List;
    
    import org.apache.struts2.ServletActionContext;
    import org.springframework.stereotype.Controller;
    
    import com.obs.actions.BaseAdminActionSupport;
    import com.obs.actions.bean.User;
    import com.obs.util.Common;
    
    @Controller
    @SuppressWarnings("serial")
    /*@Namespace("/admin")
    @Results({
        @Result(name="success", location="/WEB-INF/view/admin/user.jsp")
    })*/
    public class UserAction extends BaseAdminActionSupport {
        
        private List<User> userss;
        
        public List<User> getUserss() {
            return userss;
        }
    
        public void setUserss(List<User> userss) {
            this.userss = userss;
        }
    
        /**
         * 页面默认执行action
         */
        @Override
        public String execute() throws Exception {
            // 取得所有用户
            List<com.obs.service.bean.User> userList = super.userService.findUsers();
            // 复制bean
            List<User> users = Common.copyProperties(userList, User.class);
            userss = users;
            // 将action bean设置到页面
            ServletActionContext.getRequest().setAttribute("users", users);
            
            return SUCCESS;
        }
    
    }

    userss是property,users是request的attribute.


    ftl文件需要在/WEB-INF目录下新建文件夹:/template/simple

    把gridComponent.ftl放在这。不然会报错。

    需要修改这个template路径的话,修改struts.xml的这个位置:

    <constant name="struts.ui.theme" value="simple" />
  • 相关阅读:
    切换RequiredFieldValidator和RegularExpressionValidator提示信息的控件
    添加删除查询字符串中的参数
    动易订单数据表关系
    页面中文乱码问题收集(原创)
    URLRewrite 在 iis6+iis7中的配置
    ASP.NET面试题(英文)
    execve
    pipe管道通信阻塞
    pipe
    linux管道通信
  • 原文地址:https://www.cnblogs.com/HD/p/4071093.html
Copyright © 2011-2022 走看看