`
simonyq
  • 浏览: 23677 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

Struts-config.xml学习笔记

阅读更多


1. Struts-config.xml的每个部分的配置规范主要由该xml文件所使用的DTD文件决定。所使用的DTD版本在文件头部分,所以看DTD是了解该配置文件的最好起点。如:
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">

不同的版本所定义的元素和属性不同。
2. Struts-config.xml文件中的参数是次序相关的,所以需要将子元素按正确的顺序放置。不过系统会根据DTD文件生成一个按序排列的模板。
3. 一般主要包括以下几个部分:
(1) data-sources
(2) form-bean
(3) global-forwards
(4) action-mapping
(5) message-resource

4. Struts-config.xml文件DTD的一部分
<!ELEMENT struts-config(data-sources?,form-beans?,
global-exceptions?,global-forwards?,
action-mappings?,controller?,
messages-resources,plug-in)>
实际上,DTD只有两种项: ELEMENT和ATTLIST. ELEMENT是用来描述XML文件的总体语法(元素的名字是什么、它的内部可以包含哪些标记),而ATTLIST值定义了标记可包括的属性。
<!ELEMENT tag-name (subtags)>,subtags是其他ELEMENT项的引用。
Subtag后跟一个“?”表示父标记中可以包括一个或者零个这样的标记。如果在标记名后面跟一个星号,表示父标记中可以包括多个或零个这样的标记。没有跟符号,表示有且仅有一个标记可以放到父标记中,此外,标记的顺序是非常重要的,标记出现的次序必须符合他们在列表中的定义。
属性ATTLIST可以以任意次序出现。他有四个参数:标记名;属性名;属性的类型;默认值。字符串“IMPLED”意味着属性值不是必须的。“REQUIRED”意味着基于该DTD的XML无论在何种情况下都应该提供这个属性。
5. 表单Bean(form-bean)
form-beans和form-bean标记被用来告知struts,ActionForn类与哪个唯一标识相关联,他还可以用来定义动态form-DynaForm.
例;Form-bean DTD

<!ELEMENT form-beans (form-bean*)> 
<!ATTLIST form-beans id ID #IMPLED> 
<!ATTLIST form-beans type %ClassName #IMPLED> 

<!ELEMENT form-bean (icon?, display-name?, description?, 
set-property*, form-property*)> 
<!ATTLIST form-bean id ID #IMPLED> 
<!ATTLIST form-bean classname %ClassName; #IMPLED> 
<!ATTLIST form-bean dynamic %Boolean; #IMPLED> 
<!ATTLIST form-bean name %BeanName; #REQUIRED> 
<!ATTLIST form-bean type %ClassName; #REQUIRED> 

<!ELEMENT form-property (set-property*)> 
<!ATTLIST form-property classname %ClassName; #IMPLED> 
<!ATTLIST form-property initial CDATA #IMPLED> 
<!ATTLIST form-property name %BeanName; #REQUIRED> 
<!ATTLIST form-property type %ClassName; #REQUIRED> 

<!ELEMENT icon (small-icon?,large-icon?)> 
<!ATTLIST icon id ID #IMPLED> 

form-beans子句: 
<form-beans type=”org.apache.struts.action.ActionFormBean”> 
<form-bean name=”blankForm” type=”stocktrack.struts.form.BlankForm” /> 
<form-bean name=”loginForm” type=”stocktrack.struts.form.LoginForm” > 
<form-property name=”streetAddress” type=”java.lang.String” /> 
<form-proerty name=”city” type=”java.lang.String” /> 
…… 
</form-bean> 
<form-bean name=”addTransactionForm” type=”stocktrack.struts.form.AddTransactionForm” /> 
</form-beans> 

 6.Action映射(action-mappings)
Struts使用action标记来将表单、aciton以及转发连接在一起。他们被捆绑在action-mappings之内。

Action-mapping的DTD如:

<!ELEMENT action-mappings (action*)> 
<!ATTLIST action-mappings id ID #IMPLIED> 
<!ATTLIST action-mappings type %ClassName; #IMPLIED> 
<!ELEMENT action (icon?, display-name?, description?, set-property*, exception*, forward*)> 
<!ATTLIST action id ID #IMPLIED> 
<!ATTLIST action attribute %BeanName; #IMPLIED> 
<!ATTLIST action className %ClassName; #IMPLIED> 
<!ATTLIST action forward %RequestPath; #IMPLIED> 
<!ATTLIST action include %RequestPath; #IMPLIED> 
<!ATTLIST action input %RequestPath; #IMPLIED> 
<!ATTLIST action name %BeanName; #IMPLIED> 
<!ATTLIST action parameter CDATA #IMPLIED> 
<!ATTLIST action path %RequestPath; #REQUIRED> 
<!ATTLIST action prefix CDATA #IMPLIED> 
<!ATTLIST action roles CDATA #IMPLIED> 
<!ATTLIST action scope %RequestScope; #IMPLIED> 
<!ATTLIST action suffix CDATA #IMPLIED> 
<!ATTLIST action type %ClassName; #IMPLIED> 
<!ATTLIST action unknown %Boolean; #IMPLIED> 
<!ATTLIST action validate %Boolean; #IMPLIED> 
Action标记: 
<action-mappings> 
<action path=”/index” forward=”home.jsp” /> 

<action path=”/newaccount” 
type=”stocktrack.struts.action.newAccountAction” 
name=”blankForm” /*Bean Name 
scope=”request” 
input=”/home.jsp” > /*ReuestPath 
<forward name=”newUser” 
path=”/newUserName.jsp” /> /*ReauestPath 
</action> 
<action path=”/login” 
type=” stocktrack.struts.action.LoginAction” 
name=”loginForm” 
scope=”request” 
input=”/home.jsp” /> 

 

 属性path被用于同action的请求相匹配,action的路径应该没有任何后缀。如,在表单中指定action=”/my/regist.do”,他将匹配path为/my/regist;
 属性forward和include可以用来将控制权直接传递到新路径,而不是直接处理action。通过指定他的路径,属性input允许将action属性重定向回用以输入表单值的表单;
 属性name用于指定FormBean的名字;
 属性forward,exception和set-property标记可以在action的内部局部使用;他们归属与所定义的action。Set-property标记对于“向action传递信息”非常有用。例如,如果一个单独的action类可被用来处理若干不同的表单,可以使用set-property标记来告诉action要处理的是哪一个表单
7. Struts-config.xml与struts其它元素的相互连接
可以从jsp页面的角度开始考虑。当页面使用带有action属性的<html:form>标记时,
使用该属性从config文件中找到相应的<action>标记。这个标记接下来定义了表单类,他允许jsp页面使用<html:text>以及其他表单输入标记和表单bean相关联;还有action类,用来处理验证之后的结果。

Struts标记
Struts标记是一组定制的jsp自定义标记,由struts的作者开发,能够简化jsp开发者的工作。
(一) struts html标记 页面构造和表单处理
这些标记被用来在jsp文件中产生html元素、协调表单处理、并将jsp页面(view组建)链接到strut框架的其他部分。

使用struts html标记渲染html基本元素:
<html:html>--渲染HTML<html>元素
<html:base>--渲染HTML<base>元素
用来帮助浏览器正确的组成路径;
<html:link>--渲染HTML锚点标记<a>元素
可以在URL中传递参数,或当用户的cookies被禁止时,用来维护会话的状态。
<html:rewrite>--仅渲染<html:link>标记中的URL部分

<html:img>--渲染HTML<img>元素

 

分享到:
评论

相关推荐

    struts1.2学习笔记

    ### Struts 1.2 学习笔记:深入理解 Struts 工作流程 #### Struts 概述 Struts 是一个开源的 MVC(Model-View-Controller)框架,用于简化 Java Web 应用程序的开发。Struts 1.2 版本是基于 Servlet 的 MVC 实现,...

    Struts1学习笔记总结.pdf

    Struts1学习笔记总结 Struts1是一种基于MVC模式的Web应用框架,它可以帮助开发人员快速构建高效、可维护的Web应用程序。下面是对Struts1学习笔记的总结,涵盖了Struts1的基本概念、工作流程、标签、国际化等方面的...

    Struts1新手入门笔记(全)

    2. 设置Struts环境,包括jar包、web.xml配置和struts-config.xml。 3. 创建和配置Action,实现业务逻辑的调用。 4. 使用JavaBean处理业务逻辑。 5. 通过struts-config.xml配置Action和页面跳转。 6. 利用资源文件...

    Struts_Hibernate.zip

    2. 配置文件:struts-config.xml、hibernate.cfg.xml、web.xml等,用于配置Struts和Hibernate的工作环境。 3. 数据库脚本:用于创建与Hibernate映射的数据库表。 4. 测试用例:可能包含JUnit测试,用于验证Struts和...

    Struts1.x常用的开发包,需要学习struts1.x朋友可以下载

    3. **配置文件**:Struts1.x的配置主要分为两个部分:struts-config.xml和web.xml。struts-config.xml定义了Action的映射、Form Beans、数据源、以及其他的配置项。web.xml则配置了Struts Filter和Servlet。 4. **...

    Struts 学习笔记.doc

    `struts-config.xml`是Struts框架的核心配置文件,用于定义各个Action及其相关的配置信息。例如: ```xml type="org.apache.struts.webapp.example.LogonAction" name="logonForm" scope="request" input="/...

    Struts-笔记-1

    Struts-笔记-1很可能是对学习或研究Struts框架过程中的重要记录,它可能包含了初学者如何理解Struts的核心概念、架构以及如何在实际项目中应用的要点。 首先,Struts框架的起源和发展对于理解其重要性至关重要。...

    struts学习笔记

    2. **配置web.xml**:在web.xml中配置ActionServlet,指定Struts的配置文件位置(通常是WEB-INF下的struts-config.xml)。可以参考Struts提供的示例web.xml文件进行配置。 3. **编写Action和ActionForm**:实现...

    自己总结的学习笔记,请大家批评指正 datasource

    下面是对"自己总结的学习笔记"中涉及的DataSource及相关知识点的详细解释。 首先,我们来看Struts-config.xml文件。Struts是一个开源的MVC(Model-View-Controller)框架,用于构建基于Java Web的应用程序。在...

    Struts学习笔记

    - 在`struts-config.xml`中定义`LoginAction`的映射规则,指定其对应的表单和视图页面。 ### 总结 以上内容概述了Struts框架的基本概念和使用方法,包括如何在项目中引入必要的JAR包、配置核心组件、创建Form Bean...

    Struts 1.3.8 学习笔记(六)

    在本学习笔记中,我们将深入探讨 Struts 1.3.8 的核心概念、功能以及实际应用。Struts 为开发者提供了构建动态 Web 应用程序的结构框架,简化了开发流程,增强了代码的可维护性和可扩展性。 首先,我们来了解 MVC ...

    struts1学习笔记.doc

    ### Struts1学习笔记知识点详解 #### 一、Struts1框架概述 Struts1是Apache Struts项目早期版本的MVC(Model-View-Controller)框架,它为Java Web应用提供了一种结构化和标准化的开发模式。Struts1通过将业务逻辑...

    struts 1.x学习笔记

    ### Struts 1.x 学习笔记 #### 一、MVC 概述 MVC(Model-View-Controller)模式是一种广泛应用于软件工程中的设计模式,尤其在Web应用程序开发中非常常见。它将应用程序分为三个核心部分: 1. **模型(Model)**...

    Struts 学习笔记

    本篇学习笔记将深入探讨Struts的核心概念、工作原理以及如何在实际项目中应用Struts来构建高效、可维护的Web应用程序。 一、Struts框架概述 Struts作为经典的MVC框架,它为Java开发者提供了一种组织应用程序逻辑的...

    Struts1.x_Project.zip

    通过分析这个Struts1.x_Project,我们可以学习到如何配置Struts框架,理解ActionForm、Action、Struts-config.xml的作用,以及如何实现I18N和表单验证。同时,项目的数据库操作部分也是Java Web开发中重要的实践环节...

    Struts 1.3.8 学习笔记(七)

    本学习笔记将聚焦于 Struts 1.3.8 版本中的核心概念、组件以及在实际开发中的应用。 Struts 框架基于 Model-View-Controller (MVC) 设计模式,它简化了应用程序的结构,使得开发者可以更专注于业务逻辑,而不是底层...

    达内培训的struts课程笔记

    ActionServlet是Struts框架的核心控制器,负责拦截所有到达Servlet容器的请求,并根据struts-config.xml中的配置转发到相应的Action进行处理。它使得开发者无需在web.xml中编写大量的Servlet映射。 **五、MVC模式与...

    刚学习struts1整理的笔记附带文档下载

    1. Struts-config.xml:这是Struts1的核心配置文件,包含Action Mapping、Form Bean、ActionForward和其他设置。 2.Tiles:Struts1的一个扩展,提供了一种更灵活的方式来组织和重用JSP页面,通过定义模板和组合模板...

    韩顺平struts视频学习笔记

    `ActionServlet`根据配置文件`struts-config.xml`中的规则来决定如何处理这些请求。具体来说,`ActionServlet`会将请求转发给相应的`Action`对象处理,并根据`Action`对象的返回结果执行相应的页面跳转。 #### 三、...

Global site tag (gtag.js) - Google Analytics