iteye_19590
iteye_19590
2009-07-17 16:36
浏览 230
已采纳

structs2---模型驱动中的String转换问题

 

       背景说明:

         jsp作为前台显示层, structs2 Action的采用模型驱动封装表单数据,hibernate完成数据库底层操作,mysql存储数据,实际应用中存在以下问题:

 

     碰到问题:

        表user的自我介绍字段myself---varchar(200)  将 regist.jsp页面的 <s:textarea name="user.myself" label="备注" cols="50" rows="5" />

 

 

 

           中的文字保存至mysql时转换成了ASCII码 !     不知道问题在哪?


问题补充:
Action 打印<s:textarea name="user.myself" label="备注" cols="50" rows="5" /> 标签时的中文内容全变成了AscII码?


1.Use.java  中定义的属性:
    private String myself;


2. User.Action采用模型驱动:

 
private User user;

public SetUser(User user){

 this.user=user;

}

public User GetUser(){

 return this.user;

}



3. userreget.jsp
   
 <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>

<%@taglib prefix="s" uri="/struts-tags"%>
<%@taglib prefix="sx" uri="/struts-dojo-tags"%>

<head>
<title>用户注册</title>

<s:head theme="xhtml"/>
<sx:head parseContent="true"/>

</head>

<Body>
<Center>

 &lt;s:actionerror/&gt;

<s:form action="useradd" method="post" validate="true" >
<s:textfield name="user.name" label="用户名" />
<s:textfield name="user.psw" label="密码" />

<sx:datetimepicker name="lan.stardate" value="%{date}" displayFormat="yyyy-MM-dd" label="生日" />

 &lt;s:textfield name="user.myself" label="自我介绍" /&gt;

<sx:submit value="添加" align="center" validate="true" />

</Center>
</Body>


   不知道是不是因为导入<%@taglib prefix="sx" uri="/struts-dojo-tags"%>的关系
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • wanghaolovezlq
    wanghaolovezlq 2009-07-20 10:49
    已采纳

    你这代码写得有问题啊



    [color=red]



     <s:textfield name="user.myself" label="自我介绍" />   
    

    [color=red]

    你用s:form 怎么又用sx:submit,应该是s:submit

    点赞 评论
  • wanghaolovezlq
    wanghaolovezlq 2009-07-17 16:47

    中的文字保存至mysql时转换成了ASCII码

    八成是你的mysql的编码从来没设置过,就是默认的iso-8859-1,
    把mysql的编码设置成和你请求的编码,比较jsp页面的编码

    点赞 评论
  • liyistudio
    liyistudio 2009-07-18 23:50

    这个应该不是编码问题,如里是,那么记录要么插入不进去,要么是乱码.

    在Action中打印一下,看是什么样的数据格式.

    点赞 评论

相关推荐