`
liuxinglanyue
  • 浏览: 549332 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

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中间配置 

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


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

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

分享到:
评论

相关推荐

    Struts2属性文件详解

    Struts2属性文件详解 struts.configuration 该属性指定加载Struts 2...该属性的默认值为struts- default.xml,struts-plugin.xml,struts.xml,看到该属性值,所以应该明白为什么Struts 2框架默认加载struts.xml文件了.

    Struts in Action中文版

    2.6.2. Struts的强项........................................................................................................58 Struts in Action 中文版 Lastest Revised:10/14/2005 10:27:00 AM ...

    struts in Action

    2. 深入STRUTS 架构..................................................................................37 2.1. 随便谈谈.......................................................................................

    Struts2\constant应用

    该属性的默认值为struts-default.xml,struts-plugin.xml,struts.xml,看到该属性值,读者应该明白为什么Struts 2框架默认加载struts.xml文件了。 struts.objectFactory 该属性指定Struts 2中的action由哪个容器...

    struts2 详解文档

    为Action属性注入值 指定Struts 2处理的请求后缀 Struts 2的处理流程与Action的管理方式 为应用指定多个配置文件 动态方法调用和使用通配符定义action 请求参数接收 自定义类型转换器 全局类型转换器 访问...

    iuhyiuhkjh908u0980

    在windows系统中,命令行中执行ant命令时,当指定的 构建脚本文件中包含中文字符,而构建脚本文件的编码是UTF-8时将会 Invalid byte 1 of 1-byte UTF-8 sequence. 的错误.这个问题尚未 知解决,故先采用GBK的编码. 2.在...

    java面试题

    答:不一定,如果在配置中你也使用了fetch属性的话此时lazy就会失效。 Hibernate数据库标识与主键之间的认识? 答:标识是为了方便和简介映射文件,主键是为了让数据不会重复。 为什么每次请求都要创建一个Action...

    Java Web程序设计教程

    第7章 struts2中应用模板语言 145 7.1模板语言简介 145 7.2应用velocity 146 7.2.1velocity基础 146 7.2.2struts2对velocity的支持 153 7.3应用freemarker 155 7.3.1freemarker基础 155 7.3.2struts2整合...

    java 面试题 总结

    对于客户机,EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。 Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless Session ...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    7.3.1 在WebLogic中配置JavaMail 288 7.3.2 通过WebLogic的邮件支持来 发送邮件 290 7.3.3 在JBoss中配置JavaMail 292 7.4 本章小结 294 第8章 会话EJB 295 8.1 EJB概述 296 8.1.1 EJB的概念和意义 296 8.1.2 EJB的...

    超级有影响力霸气的Java面试题大全文档

     对于客户机,EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。  Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless ...

Global site tag (gtag.js) - Google Analytics