JSTL(JavaServer Pages Standard Tag Library)是Java Web开发中的一个标准标签库,它提供了一系列的标签来简化JSP页面的编程。JSTL标签通常与Struts框架结合使用,以增强页面的表现力和可维护性。Struts是Apache组织开发的一个用于构建MVC(Model-View-Controller)架构的Web应用框架。 在Struts框架中,我们首先需要在`struts-config.xml`文件中配置消息资源。通过添加`<message-resources parameter="MessageResources" />`,我们可以指定一个资源文件,例如`MessageResources.properties`,用于存放国际化和本地化的消息。这个文件应该被复制到应用的源代码目录(src)下,以便编译时被包含。 接下来,我们需要在JSP页面中引入Struts标签库。这可以通过`<%@ taglib>`指令完成,如: ```jsp <%@ taglib prefix="bean" uri="http://struts.apache.org/tags-bean"%> <%@ taglib prefix="logic" uri="http://struts.apache.org/tags-logic"%> ``` 这里引入了`bean`和`logic`两个标签库,它们分别提供了对Java对象的操作和逻辑控制的功能。 在Action类中,我们可以设置各种类型的数据并将其传递给请求。例如,可以设置字符串、HTML文本、日期和数字等。下面的`BeanWriteTestAction`类展示了如何设置这些属性: ```java public class BeanWriteTestAction extends Action { @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { // 设置属性 request.setAttribute("hello", "Hello World"); request.setAttribute("bj", "<font color='red'>北京欢迎您</font>"); request.setAttribute("today", new Date()); request.setAttribute("n", 123456.987); // 设置复杂对象 Group group = new Group(); group.setName("尚学堂"); User user = new User(); user.setUsername("张三"); user.setAge(18); user.setGroup(group); request.setAttribute("user", user); return mapping.findForward("success"); } } ``` 在JSP页面中,我们可以使用`<bean:write>`标签来显示这些属性。例如,显示字符串、HTML文本、日期和数字: ```jsp <bean:write name="hello"/> <bean:write name="bj" filter="true"/> <bean:write name="today" format="yyyy-MM-dd HH:mm:ss"/> <bean:write name="n" format="###,###.####"/> ``` `<bean:write>`标签的`filter`属性用于控制是否过滤HTML标签,`format`属性则用于格式化日期和数字。 此外,`<bean:write>`还可以用来显示复杂对象的属性。例如,如果我们在请求中设置了`user`对象,可以使用`<bean:write>`来显示用户的名字和年龄: ```jsp <bean:write name="user" property="username"/> <bean:write name="user" property="age"/> ``` JSTL和Struts结合使用,可以让我们编写更清晰、更易于维护的JSP页面。JSTL标签通过简化对Java对象的操作,使页面逻辑更加明确,提高了代码的可读性和复用性。
剩余43页未读,继续阅读
- 粉丝: 3
- 资源: 45
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
评论0