Struts的标签
bean,html,logic标签库,在Struts的标签也支持JSP2.0的EL表达式。
bean标签库
<bean:... >
bean标签库,是用来访为JavaBean的属性或者是为Bean的属性赋值,创建JavaBean,类似于JSP中的jsp:useBean动作的功能。
bean标签库中的标签中大部分都有以下的属性
id="xxx" 指定Bean的名字标识,Bean在被读出后将引用保存在以这个id命名的对象中,也就是在JSP中使用的变量的引用。
name="xxxx"指定要读取Bean的名字
property="xxxx"
scope="page|request|session|application"
资源读取标签
<bean:resource>读取资源文件
<bean:cookie>使用这个标签可以对Cookie进行操作
<bean:header>读取header信息
例:
<bean:resource id="indexpage" name="index.jsp"/>
<bean:write name="indexpage"/>
<bean:head id="head" name="user-agent"/>
<bean:write name="head"/>
<bean:cookie id="testcookie" name="/taglib/bean-cookie" value="emptyValue"/>
<%
if(testcookie.getValue.equals("emptyValue")){
javax.servlet.http.Cookie cook=new javax.servlet.http.Cookie("/taglib/bean-cookie","taglib cookie");
cook.setComment("test");
cook.setMaxAge(3600);
response.addCookie(cook);
}
%>
可以将资源写到页面的标签
<bean:write>将Bean的属性加入到输出流中
<bean:write name="xxx"/>name属性是要加入的资源,也就是先前在其他资源标签中的id属性定义的名字
<bean:define>定义变量
例:<bean:define id="test" value="test in Struts">
<bean:write name="test"/>
<bean:message>读取消息,可以根据key读取消息。
例:
<bean:message key="org.test">
html标签库
<html:form>
对应html中的<form>,使用<html:form>会将表单中的属性自动封装成Form,他的action属性可以直接写struts的配置文件中的path
<html:text>、<html:password>、<html:textarea>、<html:hidden>、<html:submit>
<html:reset>、<html:checkbox>、<html:radio>、<html:select>、<html:option>
以上者写标签的使用是和html中的form相对应的。
<html:options>这个标签用来表示一组选择项
<%
java.util.ArrayList list=new java.util.ArrayList();
list.add(new org.apache.struts.util.LabelValueBean("show value","value"));
list.add(new org.apache.struts.util.LabelValueBean("show value1","value1"));
pageContext.setAttribute("vlauelist" list);
%>
<html:form action="xxx.do">
<html:select property="test">
<html:options collection="valuelist" property="value" labelProperty="label"/>
</html:select>
</html:form>
Struts的Tiles框架
Tiles是一个框架,他实现了页面的复合视图,页面代码中不仅有数据,也有页面的布局格式。
要在基于Struts应用中使用Tiles框架,就要在struts-config.xml中配置
<plugin className="org.apache.struts.tiles.TilesPlugin">
<set-property property="definintions-config" value="/WEB-INF/tiles-defs.xml">
<!--定义tiles布局文件tiles-defs.xml-->
</plugin>
tiles的布局配置文件tiles-defs.xml
<tiles-definitions>
<!-- 页面基本布局-->
<definition name="pms_base" path="/common/pms_layout.jsp">
<put name="title" value="pms title" />
<put name="header" value="/common/header.jsp" />
<put name="body" value="some body page" />
<put name="footer" value="/common/footer.jsp" />
</definition>
<!-- 其他页面定义-->
<definition name="add" extends="pms_base">
<put name="title" value="add" />
<put name="body" value="/person_add.jsp" />
</definition>
</tiles-definitions>
在struts-config.xml中要把forward的配置更改一下
<action path="/person/toadd" type="alan.pms.action.PersonAction"
name="personForm" scope="request"
parameter="toAdd">
<forward name="add" path="add"/>
</action>
这样就会使页面加上header.jsp和footer.jsp显示在配置好的页面中
在页面中使用tiles标签时,要引入标签库,<%@taglib uri="/WEB-INF/tiles.tld" prefix="tiles"%>
<tiles:insert page="xxx.jsp">
<tiles:put name="header" value="header.jsp">
<tiles:put name="footer" value="footer.jsp">
</tiles:insert>
在struts-config.xml中要把forward的配置更改一下
<action path="/person/toadd" type="alan.pms.action.PersonAction"
name="personForm" scope="request"
parameter="toAdd">
<forward name="add" path="add"/>
</action>
分享到:
相关推荐
### Struts2综合复习知识点详解 #### 一、Struts2标记库中迭代标签iterator的()方法是判断当前元素是否是第偶数个元素。 **答案解析:** - 正确答案为 **D.isEven**。 - Struts2中的`<s:iterator>`标签用于迭代...
第四次:12小时 第五次:24小时 第六次:3 天 第七次:7 天 之后 :每15天 当然如果没有及时更新复习的话,下一次的复习更新时间会在上一次复习更新后顺延。 由于对页面样式了解不多,所以写出来的样式目前只在IE...
第4章 另一Struts2核心技术:拦截器 47 4.1 拦截器在Struts2中的缺省应用 47 4.2 拦截器原理实现 50 4.3 在Struts2中配置自定义的拦截器 53 4.3.1 扩展拦截器接口的自定义拦截器配置 54 4.3.2 继承抽象拦截器的...
4. **拦截器(Interceptors)**:拦截器是Struts2的一个强大特性,用于在Action调用前后执行一些通用操作,如日志记录、权限检查、事务管理等。源码中可能会有自定义拦截器的实现。 5. **结果类型(Result Types)*...
- 第四天:可能讨论了异常处理、国际化、Tiles框架集成等高级主题。 Struts框架的工作流程: - 用户通过浏览器发起请求。 - 请求被Servlet容器(如Tomcat)接收并转发给Struts的`ActionServlet`。 - `Action...
第四次:12小时 第五次:24小时 第六次:3 天 第七次:7 天 之后 :每15天 当然如果没有及时更新复习的话,下一次的复习更新时间会在上一次复习更新后顺延。 在Ajax更新复习次数时通常都会第一次失败,再点一次就...
第四次:12小时 第五次:24小时 第六次:3 天 第七次:7 天 之后 :每15天 当然如果没有及时更新复习的话,下一次的复习更新时间会在上一次复习更新后顺延。 由于对页面样式了解不多,所以写出来的样式目前只在IE...
1. **入门介绍**:这部分通常会介绍Struts1的基本概念,包括为什么需要Struts,它的核心架构,以及如何搭建第一个Struts项目。 2. **MVC模式**:Struts是MVC模式的一个实现,这一部分可能会详细解释模型、视图和...
SSH 期末复习题涉及到的主要知识点包括 Struts 2 框架、Hibernate ORM 和 Java Web 开发中的核心概念。以下是对这些知识点的详细说明: 1. **Struts 2**: - **基础类库**:构建 Struts 2 应用的基础类库包括 `...
6. 成绩查询:考生可以查看自己的考试成绩及答题情况,便于自我评估和复习。 7. 数据分析:系统提供统计分析功能,帮助教师了解学生的学习情况,优化教学策略。 四、技术实现细节 1. 使用Struts的Action类处理...
5. **易于集成第三方框架**:Spring3与其他框架如Hibernate、Struts2等有着良好的集成性,降低了集成难度。 6. **简化Java EE API的使用**:Spring3对复杂的Java EE API进行了封装,降低了使用难度。 7. **优秀的...
Java面试复习总结主要涵盖了几大框架的特性与比较,包括Tapestry、Struts、SpringMVC、Spring、Hibernate和MyBatis。以下是对这些框架的详细解释: 1. **Tapestry**: - Tapestry是一个前端MVC框架,结合了模板...
12. **MVC框架**:虽然JavaEE本身包含JSF,但还有许多流行的第三方MVC框架,如Spring MVC和Struts,它们提供了更强大的功能和灵活性。 13. **容器**:JavaEE应用通常运行在应用服务器容器中,如Tomcat、Jetty、...
这份"Java Web期末复习PPT.zip"压缩包显然是一份针对Java Web开发的复习资料,包含了从基础到高级的多个主题,旨在帮助学生或开发者系统性地理解和掌握这个领域。让我们逐一深入探讨这些章节的主要知识点。 1. **...
这个“JavaWeb视频教程 传智播客 第28天 共28天”的系列课程,显然是一个完整的JavaWeb学习路径,旨在帮助初学者或有一定基础的学习者深入理解JavaWeb开发的核心概念和技术。 在第28天的课程中,主题是"基础加强2...
### Spring学习复习资料知识点梳理 #### 一、Spring框架概览 - **Spring** 是一个分层的全栈(Full-stack)轻量级开源框架,其核心思想是 IoC(Inversion of Control,控制反转) 和 AOP(Aspect Oriented ...
2. 服务器上的Servlet接收请求,这是JavaEE应用程序的第一道处理层。 3. Servlet根据请求内容调用相应的JavaBean,JavaBean负责具体的业务逻辑处理,通常包括与数据库的交互。 4. JavaBean通过JDBC(Java Database ...
对于题目中提到的返回指定日期时间是当月的第几天,涉及到的是`java.sql.Date`或`java.time.LocalDate`等类中的方法。 **详细解释**: - **选项解析**: - **A: MONTH**:这个选项并不适用于返回指定日期时间是...
第四部分,4天的时间将专门用来学习Linux操作系统,这对于服务器端的开发和运维非常重要。此外,还包括了一些如JS、HTML、CSS的基础复习,以及SCM(版本控制)、JUnit(单元测试)和设计模式的学习。这些工具和技术...