Struts2路径和中文问题

来源:互联网 发布:seo帝国管理系统 编辑:程序博客网 时间:2024/06/04 01:35

路径和中文问题;

HelloAction.java

package com.zhang;import com.opensymphony.xwork2.ActionSupport;import com.opensymphony.xwork2.ModelDriven;public class HelloAction extends ActionSupport {private String name;public String add1(){System.out.println("name="+name);return SUCCESS;}public String getName(){return name;}public void setName(String name){this.name = name;}}

input.jsp

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>  </head>    <body><form action="<%=basePath%>user/user1!add1" method="post">姓名:<input type="text" name="name"/>    <input type="submit" value="submit"/></form>  </body></html>
struts.xml

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"><struts><constant name="struts.enable.DynamicMethodInvocation" value="true" />    <constant name="struts.devMode" value="true" />    <constant name="struts.i18n.encoding" value="GBK" /><package name="font" namespace="/user" extends="struts-default">             <action name="user" class="com.zhang.HelloAction">           <result >/index.jsp</result>       </action>              <action name="user1" class="com.zhang.HelloAction">       <result>/index.jsp</result>       </action>    </package></struts>


注意:

(1) 在input.jsp的form表单中,form的action属性用相对路径出错,应该加上 <%=basePath%>user/user1!add1";

(2) 在input.jsp中输入中文时,在后台会出现乱码,应该在struts.xml中加上: <constant name="struts.i18n.encoding" value="GBK" /> 来解决乱码(对struts2.1.6之后的版本有效);



0 0