企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 一、Struts标签库。 Struts实际上包含了4个标签库:bean,logic,html,tiles bean:用来在属性范围中定义或取得属性的,同时可以读取资源文件信息 logic:替代JSTL中的判断和循环 html:替代页面表单,完成自动回填以及错误信息的显示 tiles:美工标签,用来进行页面布局的调整以及样式管理的。 ## 二、各个标签库的实例 下面利用实例来为大家降解三个标签库: beanwrite标签库、logic标签库、iterate标签库 ### 2.1 beanwrite标签 实现效果: ![](https://box.kancloud.cn/2016-02-22_56caddf9ece18.jpg) 代码: #### 2.1.1、[配置Struts环境](http://blog.csdn.net/gwblue/article/details/18367901) #### 2.1.2、编写bean_write.jsp ~~~ <%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%> <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GB18030"> <title>Insert title here</title> </head> <body> <h1>测试beanWrite标签</h1><br> <hr> <li>普通字符串</li><br> hello(标签):<bean:write name="hello"/> <p> <li>html文本</li><br> bj(default):<bean:write name="bj"/> <br> bj(filter:"true"):<bean:write name="bj" filter="true"/> <br> bj(filter:"false"):<bean:write name="bj" filter="false"/> <p> <li>user</li><br> 姓名:<input type="text" name="username" value="<bean:write name='user' property='username'/>"><br> 年龄:<input type="text" name="age" value="<bean:write name='user' property='age'/>"><br> 所属组:<input type="text" name="group" value="<bean:write name='user' property='group.name'/>"><br> </body> </html> ~~~ #### 2.1.3、编写BeanWriteTestAction.java ~~~ package com.bjpowernode.struts; import java.util.Date; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** * 测试beanWrite标签 * @author IT * */ public class BeanWriteTestAction extends Action { @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { //普通字符串 request.setAttribute("hello", "helloword"); //html文本 request.setAttribute("bj", "<font color='red'>北京欢迎你</font>"); //日期 request.setAttribute("today",new Date()); Group group=new Group(); group.setName("动力节点"); User user=new User(); user.setUsername("张三"); user.setAge(22); user.setGroup(group); request .setAttribute("user", user); return mapping.findForward("success"); } } ~~~ #### 2.1.4、编写实体类 User.java ~~~ package com.bjpowernode.struts; /** * User实体 * @author IT * */ public class User { //用户名字 private String username; //年龄 private int age; //组 private Group group; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Group getGroup() { return group; } public void setGroup(Group group) { this.group = group; } } ~~~ Group.java ~~~ package com.bjpowernode.struts; /** * 组的实体类 * @author IT * */ public class Group { //组名 private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } } ~~~ #### 2.1.5、struts-config.xml配置 ~~~ <?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd"> <struts-config> <action-mappings> <action path="/beanwrite" type="com.bjpowernode.struts.BeanWriteTestAction" > <forward name="success" path="/bean_write.jsp"></forward> </action> </action-mappings> </struts-config> ~~~