Struts2.16 form表单提交中文为空值 很纠结啊

jsp form表单代码如下。
[quote]




名称:



昵称:



密码:



性别:

女男人妖



生日:



备注:


                <label for=""></label>
                <input name="status" type="hidden" value="1" />
                <input name="button" type="submit" class="sbutton" id="button" value="提交"/>
                      &nbsp;
                      <input name="button2" type="reset" class="sbutton" id="button2" value="返回" />
                </form>
                 </div>     

[/quote]

Struts.xml的配置
[quote]
<?xml version="1.0" encoding="gbk" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">

<package name="default" namespace="/" extends="struts-default">
    <action name="*">
        <result>/WEB-INF/jsp/{1}.jsp</result>
    </action>

    <action name="UserInseAction" class="com.lcsz.classmates.action.UserInfoAction">
        <!--  result name="success" type="redirect">login</result-->
        <result name="success" type="redirect">login</result>
        <result name="input" type="redirect">UserIns</result>
    </action>
</package>

[/quote]

UserInfoAction.java 代码
[quote]
package com.lcsz.classmates.action;

import com.lcsz.classmates.dao.UserDao;
import com.lcsz.classmates.dao.impl.UserDaoImpl;
import com.lcsz.classmates.pojo.User;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;

public class UserInfoAction extends ActionSupport implements ModelDriven {

/**
 * long
 */
private static final long serialVersionUID = 1L;
public User user = new User();

public String execute(){
    UserDao userdao = new UserDaoImpl();
    try {
        if (userdao.UserIns(user)) {

            return SUCCESS;
        } else {
            return INPUT;
        }
    } catch (Exception e) {
        System.out.println("发现错误:"+e.getMessage());
        return INPUT ;
    }
}

public User getModel() {

    return user;
}

}

[/quote]

在数据库中的插入记录 中文的话就是null 英文和数字可以插入进行
[b]问题补充:[/b]
[b]在Action中的值 如果是中文就是 null 如果不是中文就是就正常 :cry: [/b]
[b]问题补充:[/b]
[color=red]很郁闷的,
由于刚学Struts2 很多问题不知道是在哪产生的。

Struts.properties 中的设置如下

struts.enable.DynamicMethodInvocation = true
struts.devMode = true
struts.configuration.xml.reload =true
struts.i18n.encoding =GBK
struts.locale =zh_CN

在jsp页面中也设置 GBK [/color]

页面上的设置 和 XML上的设置 都是GBK了。
数据库也是GBK

[b]问题补充:[/b]
[color=blue]
if (userdao.UserIns([color=violet]user[/color])) {

return SUCCESS;
} else {
return INPUT;
}

[/color]
中文就为null
英文和数字就有值

[b]问题补充:[/b]

[color=darkred]问题其实已经决绝了。但是我觉得决绝的不够理想[/color]
[list]
[*]1.我在程序中加了个encoding Filter
[/list]
数据库 jsp页面 Struts.xml都设置了gbk
为什么还要写Filter呢。。

[color=red][b]大家回答下这个问题吧[/b][/color]

[b]问题补充:[/b]
其实页面不一定要用s标签的

用一般的 form input 一样可以等到的

查看全部
iteye_20886
iteye_20886
2009/07/15 10:44
  • struts
  • 点赞
  • 收藏
  • 回答
    私信
满意答案
查看全部

0个回复