`
java_hanyu
  • 浏览: 71716 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

struts学习笔记(四)

阅读更多

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四天的学习笔记

    13. ** strut2四天笔记**:这份学习笔记可能涵盖了以上所有知识点,包括如何创建Action,配置struts.xml,使用OGNL表达式,处理异常,以及实践中的各种技巧和最佳实践。 在四天的学习过程中,你应该通过实践和理解...

    struts学习笔记

    Struts2 学习笔记-part2: 实现用户登录功能 在上一部分中,我们了解了构建一个基于Struts2的Java Web项目所需的基本库和配置文件。现在,我们将逐步实现一个简单的用户登录功能。 一、创建Action类 在Struts2框架...

    struts2 学习重点笔记

    ### Struts2 学习重点知识点总结 #### 一、Struts2 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC 架构模式的开源 Web 应用框架。 - **核心**:Struts2 的核心其实是 ...

    struts2学习笔记(完美总结)——转自OPEN经验库

    **四、OGNL (Object-Graph Navigation Language) & ValueStack** OGNL是Struts2中用于对象属性访问和表达式语言,它允许在Action、ValueStack和视图层之间传递数据。ValueStack是一个对象栈,它持有ActionContext...

    Struts2学习笔记

    根据给定的文件信息,以下是对Struts2学习笔记中涉及的关键知识点的详细解析: ### Struts2框架概览 #### MVC模式的理解与演进 Struts2是基于MVC(Model-View-Controller)模式设计的一种Java Web开发框架。在MVC...

    struts2学习笔记黑马程序员

    ### Struts2学习笔记之文件上传与Ajax开发 #### Struts2文件上传 **文件上传简介** 文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件...

    struts2学习笔记

    struts2学习笔记struts2学习笔记struts2学习笔记

    struts 学习笔记(全)

    入门级的struts,适合新手入门

    struts2学习笔记.doc

    ### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...

    struts2学习笔记3数据类型转换

    struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换

    张龙圣思园struts2学习笔记word

    张龙圣思园的Struts2学习笔记,无疑为Java开发者提供了一份宝贵的参考资料,它可能涵盖了Struts2的基础概念、核心组件、配置方式以及实战技巧。 首先,让我们深入了解Struts2的核心特性。Struts2是MVC(Model-View-...

    struts2学习笔记(1)

    ### Struts2学习笔记知识点详解 #### 一、Struts2框架的基本引入步骤 ##### 1. 导入Struts2相关Jar包 在引入Struts2框架时,首先需要将Struts2的相关Jar包导入到项目的类路径中。这些Jar包通常包括核心库以及其他...

    Struts 学习笔记 Struts 中扩展JfreeChart 笔记

    Struts是Apache软件基金会下的一个开源框架,主要应用于Java Web应用程序的开发,它提供了一种组织应用程序代码的方式,使得开发者可以更有效地构建基于MVC(Model-View-Controller)架构的Web应用。JfreeChart则是...

    struts2.0学习笔记1

    struts2.0学习笔记1 自己动手做的还算可以的 ]struts2.0学习笔记1 自己动手做的还算可以的struts2.0学习笔记1 自己动手做的还算可以的struts2.0学习笔记1 自己动手做的还算可以的

    [摘]Struts 学习笔记之ActionForm

    博客文章"Struts学习笔记之ActionForm - xiaodaoxiaodao——蓝小刀的自言自语 - BlogJava.mht"可能包含更深入的实践示例和经验分享,包括如何处理ActionForm的生命周期、动态Form Beans、国际化等话题。通过阅读这篇...

Global site tag (gtag.js) - Google Analytics