Struts2下 jspajax向action传值值出现数据丢失

在JSP页面输入并传给后台的时候,常常会出现乱码问题,产生乱码的原因:在进行传值的时候,默认用的是iso-8859-1的编码形式进行传输,而我们页面常用的则是utf-8的编码形式。所以,两者不对应,在解析的时候就出现乱码现象。
  有以下几种:
一:在struts.xml文件中添加
  &constant name="struts.i18n.encoding" value="utf-8"&&/constant&
  注:这里value="urt-8"指的是页面的编码格式,如果页面的编码格式是GBK,则写GBK
二:在Action中重新转码:利用.new String(name.getBytes("iso-8859-1"),"utf-8");
  例:this.name= new String(name.getBytes("iso-8859-1"),"utf-8");
  注:这里的name是从页面传过来的参数,只要在这里重新转码就可以了,另外,这里的utf-8依然是页面的编码格式。
  但每次都这样转,太麻烦了,因此可以写一个工具类,将乱码转成utf-8
public class Tools{//提供一个方法,将乱码转化成utf-8
public static String getNewString(String input){String result = "";try{result = new String(input.getBytes("iso-8859-1"),"utf-8");}catch(Exception e){e.printStackTrace();}}
在用的时候直接调用就行了:userName = Tools.getNewString(name);
三:就是在tomcat中修改server.xml, 个人不推荐这得方法,其一:不稳定,其二:在工作中修改服务器的配置文件不是一件容易的事情,所以这里就不举例说明。
四:CharacterEncodingFilter的使用,但这个东西不是万能的,但有时候没有它就会很麻烦,所以还是加上,以防万一,但需要说明一点:这个filter只对post请求有效, get请求一律忽略。例:在web.xml中如下配置:
&!--字符编码--&&&&filter&&&&filter-name&CharacterEncodingFilter&/filter-name&&&&filter-class&org.springframework.web.filter.CharacterEncodingFilter&/filter-class&&&&init-param&&&&&param-name&encoding&/param-name&&&&&param-value&utf-8&/param-value&&&&/init-param&&&/filter&&&filter-mapping&&&&filter-name&CharacterEncodingFilter&/filter-name&&&&url-pattern&/*&/url-pattern&&&/filter-mapping&
阅读(...) 评论()struts2中怎么把action中的值传递到jsp页面_百度知道
struts2中怎么把action中的值传递到jsp页面
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
  方法如下:1.用request.setAttribute()方法,不过只适用于请求转发,不可用于重定向2.用session.setAttribute()方法3.用struts2标签,在Java类中定义这个值对象,然后赋值,并且给出setter和getter方法,在jsp页面中,使用来获取
采纳率:64%
来自团队:
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。struts2中action传值到JSp页面,显示问题
[问题点数:20分,结帖人catechu]
本版专家分:26
结帖率 85.71%
CSDN今日推荐
本版专家分:2632
本版专家分:26
本版专家分:189
本版专家分:712
本版专家分:1335
本版专家分:26
本版专家分:1640
本版专家分:26
本版专家分:92
本版专家分:1562
本版专家分:1562
本版专家分:26
本版专家分:522
本版专家分:26
本版专家分:26
本版专家分:26
本版专家分:40
本版专家分:40
本版专家分:232
本版专家分:232
本版专家分:42
本版专家分:1848
本版专家分:740
本版专家分:0
本版专家分:0
本版专家分:0
本版专家分:0
本版专家分:0
本版专家分:14
本版专家分:0
匿名用户不能发表回复!|
其他相关推荐struts2 action 向 jsp 传值_百度知道
struts2 action 向 jsp 传值
action 中有 String username 属性,有get 和set 方法,转向一个jsp页面时候,&s:textfield value=????????? /& 问号处应该如何写才能使textfield 默认显示 username 的值?我方法都试遍了,就是没成功
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
action向jsp传值的方法有三种:1.用request.setAttribute()方法,不过只适用于请求转发,不可用于重定向2.用session.setAttribute()方法3.用struts2标签,在Java类中定义这个值对象,然后赋值,并且给出setter和getter方法,在jsp页面中,使用&s:property value=&&/&来获取
做真实的自己 用良心做教育
主营:教育培训-JAVA培训-大数据培训-Html5培训-UI培训-python培训等
&s:textfield value=&%{username}& /&&s:textfield value=&${username}& /&&s:textfield value=&#username& /&都试试,看哪个可以
本回答被提问者采纳
&s:property value=&username&/&
这样应该没问题···
首先你要从数据库中得到存username的list然后通过HttpServletRequest request = ServletActionContext.getRequest();request.setAttribute(&list&, list);的方式到jsp页面中接受。action往jsp传值的方式太多了,我经常用这个,或把list做为一个参数传到jsp中。希望可以帮到你,如有其他问题请留言
直接取action里面的属性值就行了,因为action里面的属性有了个get方法,要是不行的话就就换回html的吧!
同意楼上,name不行再加上ID试试,再不行就是你的get方法可能是弄成私有方法了
应该在标签里加name属性吧,name名保持与action中的名一致
其他4条回答
为您推荐:
其他类似问题
您可能关注的内容
struts2的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。如何应用s:hidden从STRUTS2的JSP页面传值到ACTION里面?
如何应用s:hidden从STRUTS2的JSP页面传值到ACTION里面?
09-03-25 &
用楼上的方法ID似乎没有传下去哟 报错信息: HTTP Status 500 - -------------------------------------------------------------------------------- type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception javax.servlet.ServletException: id to load is required for loading org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:515) org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419) root cause java.lang.IllegalArgumentException: id to load is required for loading org.hibernate.event.LoadEvent. &init&(LoadEvent.java:51) org.hibernate.event.LoadEvent. &init&(LoadEvent.java:33) org.hibernate.impl.SessionImpl.get(SessionImpl.java:812) org.hibernate.impl.SessionImpl.get(SessionImpl.java:808) org.springframework.orm.hibernate3.HibernateTemplate$1.doInHibernate(HibernateTemplate.java:483) org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:374) org.springframework.orm.hibernate3.HibernateTemplate.get(HibernateTemplate.java:477) org.springframework.orm.hibernate3.HibernateTemplate.get(HibernateTemplate.java:471) dao.SpringDAO.get(SpringDAO.java:15) fac.ImplementFac.getStudentId(ImplementFac.java:24) web.common.Updatebase.get(Updatebase.java:38) web.action.Update.execute(Update.java:80) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) java.lang.reflect.Method.invoke(Unknown Source) com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:404) com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:267) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229) com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:221) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224) com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223) com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221) com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:150) org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:48) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224) com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223) com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221) com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:123) com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224) com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223) com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221) com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:167) com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224) com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223) com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221) com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:105) com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling
请登录后再发表评论!
其实不用s:hidden,在action中声明一个model,产生get,set方法,就可以在action中就可以取出model的各个属性的值了,但是在jsp中name的值为吗model.属性 model就是javaBean
请登录后再发表评论!}

我要回帖

更多关于 同一个action内不同方法传值 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信