首页 > 代码库 > [Freemarker] - 使用struts的component调用freemarker的ftl模板方法
[Freemarker] - 使用struts的component调用freemarker的ftl模板方法
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.
[Freemarker] - 使用struts的component调用freemarker的ftl模板方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。