`

struts2的视图类型+中文编码+在struts.xml配置中如何传递action中的属性值

阅读更多
struts2是通过filter来初始化配置的,struts1 是通过servlet 加载配置的

action名称的搜索路径,按包的顺序从里往外搜

1>如果没有为action指定class,默认是ActionSupport。
2>如果没有为action指定method , 默认执行action中的execute()方法 。
3>如果没有为result指定name属性 , 默认为success 。

视图类型

1. 重定向的类型:dispatch(默认值),redirect(客户端跳转),redirectAction,plainText

2 . 在action中的参数可以在result中间配置
 <action name="list" class="cn.itcast.action.HelloWorldAction" method="execute">
	<result name="success" type="redirect">/employeeAdd.jsp?username=${username}</result>
	</action>
(在action必须有getUsername()方法)
与struts 1 相比,灵活性强,struts1 是在action中把参数设置在request中 ,然后在jsp页面上从request中获得


3 . redirectAction:从一个action跳转到另一个action
    访问不在同一包中的action
   
<action name="redirectAction">
			<result type="redirectAction">
				<param name="actionName">xxx</param>
				<param name="namespace">/control/department/xdsfdsfds/435435</param>
			</result>
	</action>
4 . plainText:显示原始文件
  
 <action name="plainText">
			<result type="plainText">
				<param name="location">/index.jsp</param>
				<param name="charSet">UTF-8</param><!-- 指定读取文件的编码 -->
			</result>
	</action>	

5 . 定义全局视图
    我们知道在包中可以定义<global-results> ,但只有包中的action共享这个视图,其他包无法访问
    如何定义全局视图?
    定义一个包
  
 <package name="base" extends="struts-default">
       	<global-results>
			<result name="message">/WEB-INF/page/message.jsp</result>
		</global-results>
    </package>
    然后让其他的包都继承自这个包
    <package name="itcast" namespace="/control/employee" extends="base">
    </package>
    这样就所有的包都能共享这个视图
   
6 . 在action中传递中文要转码,在jsp中要解码(只针对客户端的get方式跳转)
     action中转码:
this.username = URLEncoder.encode("传智播客", "UTF-8");
     jsp中解码:
 <%= URLDecoder.decode(new String(request.getParameter("username").getBytes("ISO8859-1"),"UTF-8"),"UTF-8") %>
  
7 . 在result中如何传递多个参数
    
<result name="success" type="redirect">/employeeAdd.jsp?username=${username}&amp;id=${id}</result>
&要转码(&amp;)
分享到:
评论

相关推荐

    struts2的属性配置

    在Struts2中,Action类扮演了控制器的角色,它接收请求,执行相关逻辑,并返回一个表示结果的字符串,这个字符串被用来决定显示哪个视图。 **Struts2框架的执行流程**: 1. 用户发送HTTP请求到服务器。 2. `web.xml...

    dom4j解析struts.xml需要的包装类

    在Struts2中,配置文件`struts.xml`扮演着核心角色,它定义了动作(Action)、包(Package)和结果(Result)等关键组件的行为。为了方便地解析和处理这些配置,开发者常常会创建自定义的包装类(Wrapper Class),...

    struts2+hibernate_spring的整合说明文档

    这里`userService`是`LoginAction`类的一个属性,通过Spring的依赖注入(DI)机制,Spring会自动为`LoginAction`的`userService`属性设置值,无需在Action的构造函数或初始化方法中手动设置。 6. **数据访问层的...

    Struts2--为Action的属性注入值

    类型转换则是指Struts2能够自动将请求参数的字符串值转换为Action属性所需的类型,如将`age`的字符串值转换为整型。 为了调试和理解这个过程,可以开启Struts2的日志,查看拦截器的执行顺序和参数绑定情况。此外,...

    struts2+myeclipse 配置入门

    在hello.jsp中,可以使用Struts2的OGNL表达式来获取Action中的属性值。 6. **运行和测试**: 在MyEclipse中配置好Tomcat服务器,然后右键点击项目选择“Run As” -&gt; "Run on Server"。如果配置正确,访问`...

    Struts2验证框架的配置及validation.xml常用的验证规则

    在Struts2中,验证主要通过在Action类的关联配置文件validation.xml中定义规则来实现。该文件通常与Action类位于同一目录下,文件名格式为`&lt;ActionClassName&gt;-validation.xml`,其中`&lt;ActionClassName&gt;`是对应Action...

    Struts2_Action

    Struts2是一个用于开发Java ...对于Struts2 Action的配置,首先需要在struts.xml文件中配置Action。这个配置包括定义Action的名称、所关联的类以及返回结果(result)的配置。在struts.xml中的配置示例如下: ```xml ...

    Struts2属性文件详解

    若需要实现自定义的配置管理器,则需创建一个实现了`Configuration`接口的类,并在类中实现Struts 2配置文件的加载逻辑。 #### struts.locale 此属性指定了Web应用的默认Locale设置,用于确定应用的语言环境和区域...

    struts2国际化+简单的标签+用户注册和登录

    在Struts2中,这通过资源包(Properties文件)实现,通常命名为`messages.properties`,`messages_en.properties`,`messages_zh_CN.properties`等,分别对应默认语言和不同语言版本。 - 使用`&lt;s:text&gt;`标签来显示...

    Struts+In+Action中文版

    3. **拦截器(Interceptor)**:拦截器是Struts2中的一个重要概念,它可以在Action执行前后插入额外的功能,如日志记录、权限验证、事务管理等。用户可以通过自定义拦截器来扩展框架功能。 4. **OGNL(Object-Graph...

    Struts2 与Freemarker 的配置方法

    - 在Freemarker模板文件中,可以使用Struts2标签库,如`s:property`来显示Action中的属性值。例如,如果LoginAction中有username属性,可以这样写:`&lt;s:property value="username" /&gt;`。 7. **运行和调试**: - ...

    Struts2环境配置与基本操作演示

    接下来,我们来谈谈**OGNL**,它是Struts2中的表达式语言,用于访问和操作对象图。OGNL可以方便地在视图层和模型层之间传递数据。例如,你可以使用OGNL在JSP页面中直接访问Action类的属性,或者在Action类中设置请求...

    struts2+myeclipse 入门例子

    例如,我们可以使用`s:property`标签来显示Action中的属性值,如`&lt;s:property value="message"/&gt;`,这里的message是Test2Action类中的一个属性。 此外,MyEclipse提供了丰富的代码生成和调试工具,使得开发者能够更...

    struts2 实例源代码 +jsp页面

    5. **OGNL(Object-Graph Navigation Language)**:Struts2使用OGNL作为表达式语言,用于在Action与视图之间传递数据。例如,在JSP中,可以通过`&lt;s:property value="someProperty"/&gt;`来显示Action中相应属性的值。 ...

    Struct-config.xml的配置文件

    总之,`Struct-config.xml`配置文件是Struts框架中不可或缺的部分,它定义了应用的路由规则、ActionForm Bean的使用、Action的处理逻辑以及异常处理和视图转发策略。正确理解和配置这个文件是开发Struts应用的基础。

    struts2的资源配置

    在DTD(文档类型定义)中,可以看到struts.xml支持的元素,如`package`、`include`、`bean`和`constant`等,这些元素用于组织和配置Struts2的应用结构。 2. **包配置(Package)** - `package`元素是组织Action和...

    实现struts框架简单功能

    例如,如果客户端发送了一个名为`input`的参数,Struts2会自动将其值赋给Action中的`input`属性。在Action的execute方法中,你可以访问这些属性来执行业务逻辑。 至于拦截器,Struts2提供了一种强大的机制,可以在...

    Struts2+hibernate整合

    在Struts2中,可以使用ModelDriven或ActionSupport的模型驱动方式将数据绑定到值栈,再由JSP页面遍历并显示。 4. **MySQL数据库**:作为关系型数据库,MySQL提供了高效的存储和检索数据的能力。在Hibernate中,需要...

Global site tag (gtag.js) - Google Analytics