编码以及Action中的result的各种转发类型

result配置类似Struts1中的forward,但是Strut2中提供了多种结果类型,常用的类型有:dispatcher(默认值)、redirect、redirectAction、plainText

1、默认的内部转发(属于同一个请求)

<action name="helloworld" class="cn.winney.HelloWorld">
  <result name="success">/WEB-INF/page/hello.jsp</result>

2、重定向转发,已经不在同一个请求内了

<result type="redirect">/view.jsp?id=${id}</result>

在result中还可以使用${属性名}表达式访问action中的属性,表达式里的属性名对应action中的属性

3、redirectActtion
如果重定向的action在同一个包下:

<result type="redirectAction">helloworld</action>
```
如果重定向的action在别的命名空间下:
则需要设置一些属性
```
<result type="redirectAction">
  <param name="actionName">helloworld</param>
  <param name="namespace">/test</param>
</result>
```
plaintext显示原始文件内容,例如:当我们需要原样显示jsp文件源代码的时候,我们可以使用此类型。
```
<result name="source" type="plainText">
  <param name="location">/hello.jsp</param>
  <param name="charSet">UTF-8</param><--!指定读取文件的编码-->
</result>
```

####二、编码问题
在后端传送中文字符,可以用一下代码进行编码:
```
this.username = URLEncoder.encode("猪八戒","utf-8");
```

在前端获取时直接解码或者按照以下代码:
```
    <%String username = new String(request.getParameter("username").getBytes("utf-8"),"utf-8");

```
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,915评论 18 139
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,141评论 6 13
  • 1、struts2工作流程 Struts 2框架本身大致可以分为3个部分: 核心控制器FilterDispatch...
    重山杨阅读 1,544评论 0 38
  • spring mvc 工作机制(原理): DispatcherServlet主要用作职责调度工作,本身主要用于控制...
    java大湿兄阅读 1,918评论 5 24
  • 条纹元素经典搭配,每个姑娘的衣橱里都应该有不同类型的条纹款式。 我个人很喜欢穿条纹,室友总说我养了...
    遥远的她她阅读 190评论 0 0