一个struts2验证框架的一个小问题,高分求助 50

在写一个struts2的验证框架,现在最简单的部分出错。问题就是写的xml文件好像没有发挥作用,提交后,直接跳到了action里,没有经过xml的验证。下面是代码,点击提... 在写一个struts2的验证框架,现在最简单的部分出错。问题就是写的xml文件好像没有发挥作用,提交后,直接跳到了action里,没有经过xml的验证。下面是代码,点击提交后,就直接转到了action里面,然后跳到了success.jsp里面。为什么验证框架没有起到作用呢。
以下是写的代码,大家看看哪里有问题:
1.action部分:HelloWorld.java
package ch2.helloworld;
import com.opensymphony.xwork2.ActionSupport;
public class HelloWorld extends ActionSupport {
private String msg;
public String getMsg(){
return msg;
}
public void setMsg(String msg){
this.msg=msg;
}
}

2.验证xml文件:HelloWorld-validation.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<field name="msg">
<field-validator type="required">
<param name="trim">true</param>
<message>username shoudld not be blank!</message>
</field-validator>
</field>
</validators>

3.struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="bookcode" extends='struts-default'>
<action name="HelloWorld" class="ch2.helloworld.HelloWorld">
<result name="success">/success.jsp</result>
</action>
</package>
</struts>

4.HelloWorld.jsp
<body>
<s:fielderror cssStyle="color:red;"/>
<s:form action="HelloWorld" >
<s:textfield name="msg" label="输入信息" ></s:textfield>
<s:submit name="submit" label="提交"></s:submit>
</s:form>
</body>

5.success.jsp
<body>
hello struts2 <br>
</body>
展开
 我来答
bd_yongge
2012-11-12 · 超过13用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:31.3万
展开全部
有几个问题,第一个 ,你的jsp页面,提交到action后是否需要指定一个执行的方法。
那么这样的话 你的struts.xml 中 action中就差一个 method=""
第二个,我在你的action中没有看到任何处理方法,包括execute().
也就是如果你的struts.xml中如果不指定method属性,默认是execute()
你仔细检查下,看是不是这样。!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
t522535261
2012-11-07 · TA获得超过198个赞
知道答主
回答量:90
采纳率:100%
帮助的人:51.7万
展开全部
<field-validator type="rquiredstring"></filed-validator>
追问
这个我也改过,rquiredstring这个不行,我才换的required。还是不明白哪里错了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
慕容玉麟BJ
2012-11-21
知道答主
回答量:13
采纳率:0%
帮助的人:3.4万
展开全部
1、<s:form action="HelloWorld" >请求的方法好像有问题
2、struts.xml没由method的方法
3、你在确定一下web.xml文件是否可以改名
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
859932795
2012-11-07
知道答主
回答量:3
采纳率:0%
帮助的人:2.6万
展开全部
HelloWorld-validation.xml和HelloWorld.java应该放到同一个包下,你试一下
追问
是在一个包里面的  这个没有错误
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
why心有千千结
2012-11-07
知道答主
回答量:2
采纳率:0%
帮助的人:2.8万
展开全部
在struts.xml中的struts标签里加上<include file="HelloWorld-validation.xml" />
更多追问追答
追问
是放到package里面,还是外面。这个做法倒是没有见过 ,我试试。
追答
放在package外边 你试试吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式