日期:2014-05-17  浏览次数:20646 次

请教struts2关于提示和验证的问题!!!!!
首先我在action里定义了一个:
//存放action之间的提示信息
String actionMsg ;
  setxxx ..... getxxx.....


然后在方法里是这样的:

service.addNews(model);
actionMsg = "添加成功!";
actionMsg = java.net.URLEncoder.encode(actionMsg);
return "message";

return过去网页我直接写了个EL表达式 ${requestScope.actionMsg} 。显示是%CC%ED%BC%D3%B3%C9%B9%A6%21。

请教一下该怎么写~~~





另外一个问题就是 如何验证表单信息。。比如不允许输入的信息为空。。。

struts2不太会 - - 。给个例子和步骤吧


------解决方案--------------------
去掉actionMsg = java.net.URLEncoder.encode(actionMsg);
验证表单信息的例子网上很多
------解决方案--------------------
表单验证用validation这个嘛,网上查查文档资料就可以了
------解决方案--------------------
struts2里自带的有表单校验的.
http://www.blogjava.net/max/archive/2006/11/14/81106.html 

------解决方案--------------------
引用
actionMsg = java.net.URLEncoder.encode(actionMsg);
这句话是转码用的。。。注释掉这句。。。

如果防止中文乱码,那你就用这句,在页面上改:java.net.URLDecoder.decode(actionMsg)这样接收,将转码的字符串解码还原。。。

------解决方案--------------------
还有就是:
actionMsg = java.net.URLEncoder.encode(actionMsg,"GBK");

解码:
java.net.URLDecoder.decode(actionMsg,"GBK");

最好设置一下编码方式。。不然就干脆编码和解码。。不然没意义


------解决方案--------------------
探讨
还有就是:
actionMsg = java.net.URLEncoder.encode(actionMsg,"GBK");

解码:
java.net.URLDecoder.decode(actionMsg,"GBK");

最好设置一下编码方式。。不然就干脆编码和解码。。不然没意义

------解决方案--------------------
你不就是在后台保存了一个数据 想在前台页面得到么
可以让你的action去继承一个BaseAction
然后后台里面用save("data","我的数据");
最后在前台取的时候用struts2标签取<s:property value="#data"/>
------解决方案--------------------
<!-- 定义名为input的局部result,其结果类型为默认的dispatcher -->
<result name="input">/error.jsp</result>