- 浏览: 1592235 次
- 来自: 上海
文章分类
- 全部博客 (374)
- Java (101)
- Struts (54)
- Oracle (30)
- JavaScript (16)
- Spring (27)
- Hibernate (16)
- MyEclipse (3)
- JSF (1)
- FreeMarker (2)
- SiteMesh (2)
- JfreeChart (2)
- Ibatis (2)
- JSP (12)
- MyBatis (4)
- SWFupload (1)
- EJB (4)
- Jboss (4)
- WebService (2)
- Linux (16)
- Android (2)
- XML (6)
- Java 网络编程 (13)
- AXIS2 (1)
- FTP (1)
- Jswing (1)
- Socket (3)
- 杂文选集 (6)
- solr (2)
- PS (1)
- Tomcat (7)
- JDBC (9)
- Highcharts (1)
- maven (1)
- Nodejs (0)
- navicat (2)
- Exception (5)
- eclipse (3)
- jQuery (1)
- springMVC (4)
- MySQL (11)
- SVN (1)
- Sql Server (1)
- zookeeper (1)
- JVM (1)
- Groovy (2)
- Git (1)
- Nginx (1)
- DynamicReport (1)
- IDEA (2)
- JasperReports (1)
- Postgresql (2)
- Mac (1)
- gradle (1)
- 数据结构算法 (1)
最新评论
-
hpu145:
引用引用
java 千分位的添加和去除 -
被遗忘的下路:
少了个junit-4.8.2的包
SSH2整合完整案例(四十三) -
白天看黑夜:
java过滤emoji字符处理,希望能帮到你http://ww ...
emoji 表情图片解决方法 -
caipeiming:
这个挺好JavaScript实现input输入框控件只允许输入 ...
js 控制文本框只能输入中文、英文、数字等 -
双子树:
东西太好啦受教啊
Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)
1.包配置
2.命名空间配置
3.命名空间案例:
4.命名空间的注意:
5.包含配置
在Struts2框架中,其核心组件是Action和拦截器等,该框架使用包管理这些组件,在包可以配置多个action,多个拦截器,多个拦截器栈,返回类型。使用<package>元素配置包。可以指定4个属性
属性名 | 必选 | 说明 |
name | 是 | 指定包的名称,该名称是该包被其他包引用的key值 |
extends | 否 | 知道该包继承其他包 |
namespace | 否 | 指定哪个该包的命名空间 |
abstract | 否 | 指定该包是否是一个抽象包。抽象包中不定义action。 |
2.命名空间配置
在Struts2中命名空间用namespace的方式来管理Action 因为在Action类中有多个业务处理方法,而客户端请求需要指向不通的方法,此时就需要用命名空间了。 例如: <package name="myPackage" extends="struts-default" namespace="/tmq"> <action name="login" class="my.test.Login.Action"> <result name="success">welcome.jsp</result> </action> </package> 上述的配置后,name为login的action就可以处理下面的URL请求了 http://localhost:8080/struts2/tmq/login.action http://localhot:8080/struts2/login.action
3.命名空间案例:
<struts> <!--配置myPackage包,默认命名空间为空--> <package name="myPackage" extends="struts-default"> <action name="login" class="my.test.LoginAction"> <result name="success">welcome.jsp</result> <result name="Login">login.jsp</result> </action> </package> <package name="myPackage2" extends="struts-default" namespace="/tmq"> <action name="login" class="my.test.LoginAction2"> <result name="success">welcome.jsp</result> <result name="Login">login.jsp</result> </action> </package> <!---http://localhost:8080/struts/login.action;会先查询非默认命名空间中的login Action如果没有找到 然后才到默认的命名空间--> </struts>
4.命名空间的注意:
通过为包指定不通的命名空间,就可以在不同的包中配置name值相同的Action 而框架根据请求的URL,依然可以饿知道使用那个额Action来处理,如果为一个包指定了默认的命名空间,那么该包下的所有Action,额可以处理任何URL中对应的Action请求。 同一个命名空间中的不能包含同名的Actino,不同的命名空间中,可以包含相同的Action。
5.包含配置
<!--_在一个Jsp文件中可以使用<jsp:include>指令,将其他文件包含到该文件中,同样的道理,在struts.xml文件中可以使用包含元素<include>包含其他配置文件--> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0/EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <include file="struts-actionchaining.xml"/> <include file="struts-fileupload.xml"/> <include file="struts-jsf.xml"/> <include file="struts-filedownload.xml"/> <include file="struts-conversion.xml"/> <include file="struts-freemarker.xml"/> <includer file="struts-tiles.xml"/> </struts>
发表评论
-
解决getOutputStream() has already been called for this response
2014-07-30 19:16 3320java.lang.IllegalStateException ... -
Struts2 + ajaxFileUpload 异步上传文件
2013-12-04 19:33 1893ajaxFileUpload下载地址http://www.ph ... -
Struts2 Action 解析提交的XML
2013-10-16 12:30 1640package com.bjdata.bjsearch.p ... -
MyBatis+Spring+Struts2
2012-11-28 00:32 10627MyBatis3.1.1+Spring3.1.2+Struts ... -
Ibatis 整合spring + Struts2 加入OSCACHE
2012-11-14 00:10 4562说明: 使用 spring2.5 +ibatis2.3 ... -
Struts2中使用JfreeChart
2012-11-06 09:02 16471.jar commons-fileupload-1.2.2. ... -
Struts2整合SiteMesh
2012-11-05 10:33 76611.导入Struts2的jar 和 sitemesh.jar ... -
Struts2 编写安全策略(四十五)
2012-09-23 23:53 2298编写安全策略 包含(1 ... -
SSH2整合完整案例(四十三)
2012-09-14 09:34 20690注解配置:Struts2+Spring2.5+Hibernat ... -
Struts2 阻止表单重复 和 等待页面(四十四)
2012-09-23 21:13 2146表单重复提交现象 导 ... -
Struts2 文件上传,下载,删除(四十一)
2012-09-10 23:37 12337本文介绍了: 1.基于表单的文件上传 2.Struts 2 的 ... -
Struts2 文件上传,下载的类型(四十二)
2012-09-06 23:18 2005声明: 以下复制他人的!!! Struts2 文件上传 之 ... -
Struts2 常用标签使用(三十九)
2012-09-03 09:28 64311.append标签 使用append标签可以把多个集合对 ... -
Struts2 timer拦截器(三十二)
2012-08-31 02:17 20751.Strus2系统拦截器中,timer拦截器可以实现输出Ac ... -
Struts2 常用标签使用(三十九)
2012-09-03 00:50 51.append标签 使用append标签可以把多个集合对 ... -
Struts2 主题和模版设置(四十)
2012-09-03 20:24 4147----------------Struts2 主题----- ... -
Struts2 如何使用OGNL表达式(三十八)
2012-08-30 20:55 50831.OGNL是Object Graph Navitagtion ... -
Struts2 使用Validation框架验证数据(三十七)
2012-08-30 11:25 18468A:在Struts2的框架汇中,开发者可以通过继承Action ... -
Struts2 使用Validation框架验证数据(三十七)
2012-08-29 14:08 9A:在Struts2的框架汇中,开发者可以通过继承Action ... -
Struts2 iterator 标签遍历 Map,List,数组(三十六)
2012-08-26 18:30 205311.使用iterator 标签 遍历 数组,Map,List ...
相关推荐
总的来说,Struts2 Action包的命名空间和Servlet API的结合使用,使得开发者能够灵活控制请求的处理流程,通过拦截器实现通用功能,同时利用视图组件创建丰富的用户界面。通过对框架核心类的了解,可以更深入地掌握...
2. **空间名(Namespace)**:在Struts2中,命名空间用于区分不同的URL路径,每个Action都可以关联一个或多个命名空间。空间名通常与包名保持一致,但并不强制。例如,如果Action类位于`com.example.myapp.actions`...
在Struts2的配置文件(通常为struts.xml或struts-plugin.xml)中,你可以定义多个命名空间,每个命名空间下可以包含多个Action。例如: ```xml <struts> <!-- 这里的Action配置属于/admin命名空间 --> <!--...
本篇文章将深入探讨Struts2中的三个关键概念:命名空间、模型驱动以及表单重复提交的处理,这些都是在实际开发中必不可少的知识点。 **命名空间(Namespace)** 命名空间在Struts2中扮演着路由和隔离的作用。它可以...
关于命名空间配置,当需要在同一个Web应用中定义同名Action时,Struts2通过命名空间进行区分。通过为`package`元素设置`namespace`属性,可以为包下的所有Action指定共同的命名空间。例如,将上面的配置改为: ```...
这个配置将所有包含 action,actions,struts,struts2 的包都视为含有 Action 类的路径来搜索。 例如,我们可以将包路径配置到 web 和 action 下: <constant name="struts.convention.package.locators" value="web...
- `struts.convention.package.locators`:定义Action的根包,影响Action的命名空间映射。 - `struts.convention.action.packages`:除了默认的四个包(action, actions, struts, struts2),这个常量可以指定额外...
- **struts-default.xml**:这是Struts2框架提供的默认配置文件,包含了一些基本的拦截器和结果类型的定义。当开发者未在自己的`struts.xml`中指定某些配置时,默认会采用这些预定义的配置。 #### 二、struts.xml...
根据描述中的内容,我们可以进一步了解 Struts 2 中 Action 接口的应用及命名空间配置的相关知识点。 1. **Action 接口介绍** - **接口定义**:`com.opensymphony.xwork2.Action` 接口中定义了一系列的标准字符串...
此外,Struts2还提供了其他注解,如`@Results`、`@Namespace`、`@ParentPackage`等,它们分别用于定义一组结果、Action所属的命名空间以及继承的配置包。这些注解可以帮助我们在不编写XML配置的情况下,完成大部分的...
在传统的Struts 2应用中,我们通常会通过XML配置文件(struts.xml)来定义Action,包括Action类、结果页面、拦截器等信息。然而,随着Java注解的广泛应用,Struts 2也引入了注解配置的方式来简化开发过程,避免了XML...
通过该插件,Struts2能够自动扫描并识别Web应用程序中的Action类,从而推测出它们的命名空间(namespace)。此外,Zero Config还能够根据Action类的位置推断出结果视图(result view)的路径。 ##### 2.1 配置方法 在`...
"struts2注解必须包"指的是Struts2提供的一系列注解,它们对于简化Struts2应用的配置和增强其功能至关重要。 标题中的"struts2-convention-plugin-2.1.8.1.jar"是Struts2的约定插件(Convention Plugin)的一个特定...
标签在struts.xml中定义一个配置包,可以包含多个Action,每个Action都有自己的命名空间和配置。包还可以继承其他包,重用配置。 **五、Action** Action是Struts2中的核心组件,负责处理用户的请求,执行业务逻辑,...
- `@ParentPackage` 用于指定当前 Action 继承的 Struts2 包,通常用来继承配置好的拦截器栈。例如,`@ParentPackage("struts-default")` 将使用默认的 Struts2 拦截器配置。 3. **Namespace 注解** - `@...
5. **Action configuration**: Action配置包括定义action的名字、类、结果(Result)和关联的命名空间。结果可以指向JSP页面、其他Action、或者任何可配置的结果类型。 6. **Interceptors and Interceptor Stacks**...
在实际应用中,Struts2的配置文件可以通过继承和命名空间提供强大的灵活性。通过`extends`属性,你可以创建基础配置并让其他package继承,以减少代码重复。`namespace`属性允许你在同一应用中定义同名action,只要...
总之,解决Struts2跳转至404页面的问题需要对整个应用的配置进行仔细检查,从Action、命名空间、拦截器到结果类型、资源路径,甚至包括服务器和IDE的设置。理解Struts2的工作原理,结合日志信息,通常可以找出导致...
- **默认行为**:默认情况下,Convention插件会自动扫描包含`action`, `actions`, `struts`, `struts2`等关键字的包,从中查找Action类。 - **自定义搜索包**:可以通过`struts.convention.package.locators`属性来...