美文网首页
编码以及Action中的result的各种转发类型

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

作者: exmexm | 来源:发表于2017-06-29 09:48 被阅读0次

    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");
    
    ```

    相关文章

      网友评论

          本文标题:编码以及Action中的result的各种转发类型

          本文链接:https://www.haomeiwen.com/subject/isgycxtx.html