struts2 validation 服务器端验证,提示一些项必输,在填写后在提交到struts 的action不起作用?

挑大梁 2008-01-16 02:22:12
再有,测试时多次提交,提示 ××必须填写 。这些提示信息总是累加显示。

如:

一次提交:
username is required!
password is required!

二次提交:
username is required!
username is required!
password is required!
password is required!

有一遍就够了。

请高手解答,不胜感激。

...全文
1614 20 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
houenxu123 2009-08-10
  • 打赏
  • 举报
回复
遇到了同样的问题,谢谢
莳心 2008-03-01
  • 打赏
  • 举报
回复
把action 设置scope="prototype"在struts.xml里
johnny_briup 2008-02-15
  • 打赏
  • 举报
回复
那位有关于struts2.0的服务验证源码了 谢谢了
挑大梁 2008-01-19
  • 打赏
  • 举报
回复
<bean id="userAction" class="cn.com.ctdos.web.action.UserAction" scope="prototype">


要加上他scope="prototype" ,我记得默认不是单实例啊

谢了,爱
挑大梁 2008-01-18
  • 打赏
  • 举报
回复
终于找到原因了,是因为这个
<constant name="struts.objectFactory" value="spring" />

<action name="UserAction_userAdd" method="add" class="userAction">

换成这个<action name="UserAction_userAdd" method="add" class="cn.com.ctdos.web.action.UserAction">

就没问题了,原因正在查找中,为什么.憋了我好长时间

zb_86 2008-01-18
  • 打赏
  • 举报
回复
当然和cookie没有关系了,应该是每次提交后,返回结果,但是没有进行一次http操作,也就是说没有刷新页面或者就是页面的事了,这种问题和后台没有关系,根本就不走Action
挑大梁 2008-01-18
  • 打赏
  • 举报
回复
是不是跟cookie什么的有原因
zb_86 2008-01-18
  • 打赏
  • 举报
回复
你检验用户输入是不是用validator插件,如果是,就检查一下页面和validate.xml
和后台没有关系
挑大梁 2008-01-18
  • 打赏
  • 举报
回复
第一次提交是可以的,能调用acton,并提示一些项必输,但以后就不行了,我觉得跟我的UI没什么关系,
很可能是jar冲突,但人仔细查检了。
哎,期待!!!

com.opensymphony.xwork2.validator.ActionValidatorManagerFactory - <Detected AnnotationActionValidatorManager, initializing it...>

其中有这么一句话。咋回事呢?
挑大梁 2008-01-17
  • 打赏
  • 举报
回复
validation中的内容没有清,怎么清啊?我不知怎么追啊
fengyifei11228 2008-01-17
  • 打赏
  • 举报
回复
好像是第一次的validation中的内容没有清,然后第二次调用时又输出了
要不你追一下,看看在哪产生的问题
挑大梁 2008-01-17
  • 打赏
  • 举报
回复
有人遇到过类似的问题吗?

我单独建了一个工程,是没有问题的,是不是validation同什么冲突
挑大梁 2008-01-16
  • 打赏
  • 举报
回复
楼上的,先谢谢。

看好题目在解答
luoxinabc12345 2008-01-16
  • 打赏
  • 举报
回复
struts-config.xml里面action作用域设置成request!再看!他默认的是session!如果是session的话他就不会重新创建
ActionForm所以得不到!
hahe7788 2008-01-16
  • 打赏
  • 举报
回复
按有几个群,你不妨加进去,可以和大家一起讨论啊.........46986340,28039577,4804620
在那里看看有无能回答你的,谢谢,LZ,甭忘了给俺分哦,谢谢LZ
挑大梁 2008-01-16
  • 打赏
  • 举报
回复
问题不清楚吗?
挑大梁 2008-01-16
  • 打赏
  • 举报
回复
msn: jacobllp@hotmail.com 谢谢
挑大梁 2008-01-16
  • 打赏
  • 举报
回复


import java.util.List;
import org.apache.log4j.Logger;
import org.apache.struts2.interceptor.validation.SkipValidation;

import cn.com.ctdos.domain.User;
import cn.com.ctdos.domain.helper.UserHelper;
import cn.com.ctdos.service.ServiceFacade;
import com.opensymphony.xwork2.ActionSupport;


public class UserAction extends ActionSupport {
Logger log = Logger.getLogger(UserAction.class);
private static final String _SHORT_NAME_Of_POJO = "User";
private static final String _LONG_NAME_Of_POJO = "cn.com.ctdos.domain.User";
private static final String _FIND = "find";
ServiceFacade<User> serviceFacade = null;
List<User> liUser;
User user = null;
UserHelper userHelper;
@SkipValidation
public String index(){
find();
return SUCCESS;
}
@SkipValidation
public String indexFTL(){
find();
return "input";
}
@SkipValidation
public String findIndex(){
return _FIND;
}
//---------------------------------
//就是要调用它,别的我什么也没做。
public String add(){
log.info("add start");
serviceFacade.saveUser(user);
log.info("add end");
return find();
}
//---------------------------------
@SkipValidation
public String find(){
setLiUser(serviceFacade.findUser(_SHORT_NAME_Of_POJO));
return SUCCESS;
}
@SkipValidation
public String findUserByID(){
log.info("-------------> " + user.getId());
setUser(serviceFacade.findUserById(_LONG_NAME_Of_POJO, user.getId()));

return SUCCESS;
}
@SkipValidation
public String delete(){
// log.info(getId());
serviceFacade.delUser(user);
return find();
}
@SkipValidation
public String update(){
User userupdate = serviceFacade.findUserById(_LONG_NAME_Of_POJO, user.getId());
userupdate.setId(user.getId());
userupdate.setUsername(user.getUsername());
userupdate.setPassword(user.getPassword());
serviceFacade.updateUser(userupdate);
return find();
}
@SkipValidation
public String findByProperty(){
String queryCondition = userHelper.getQueryCondition();
String queryString = "from " + _SHORT_NAME_Of_POJO
+ " where username like '%"+queryCondition+"%'";
setLiUser(serviceFacade.findByProperty(queryString));
return _FIND;
}

public ServiceFacade<User> getServiceFacade() {
return serviceFacade;
}

public void setServiceFacade(ServiceFacade<User> serviceFacade) {
this.serviceFacade = serviceFacade;
}

public List<User> getLiUser() {
return liUser;
}

public void setLiUser(List<User> liUser) {
this.liUser = liUser;
}

public User getUser() {
return user;
}

public void setUser(User user) {
this.user = user;
}

public UserHelper getUserHelper() {
return userHelper;
}

public void setUserHelper(UserHelper userHelper) {
this.userHelper = userHelper;
}



}



ftl 里获得error


<@s.fielderror/>
挑大梁 2008-01-16
  • 打赏
  • 举报
回复
struts.xml文件部分:

<action name="user_*" method="{1}" class="userAction">

<result name="success" type="tiles">ssh.main.ftl</result>
<result name="find" type="tiles">ssh.find.ftl</result>
<result name="input" type="tiles">ssh.main.ftl</result>
</action>

<!--只需验证add方法,userAction映射到spring,ssh.main.ftl映射到 tiles, 页面用freemarker显示-->
<action name="user_add" method="add" class="userAction">

<result name="success" type="tiles">ssh.main.ftl</result>
<result name="input" type="tiles">ssh.main.ftl</result>
</action>

tiles。xml文件

<tiles-definitions>

<definition name="ssh.main.jsp" template="/main.jsp">
<put-attribute name="someAttribute" value="some.value" />
<put-attribute name="title" value="user infomation"/>
<put-attribute name="header" value="/header.jsp"/>
<put-attribute name="menu" value="/menu.jsp" />
<put-attribute name="footer" value="/footer.jsp" />
<put-attribute name="body" value="/body.jsp" />
</definition>

<definition name="ssh.main.ftl" template="/main.ftl">
<put-attribute name="someAttribute" value="some.value" />
<put-attribute name="title" value="user infomation"/>
<put-attribute name="header" value="/header.ftl" />
<put-attribute name="menu" value="/menu.ftl" />
<put-attribute name="footer" value="/footer.ftl" />
<put-attribute name="body" value="/body.ftl" />
</definition>

<definition name="ssh.find.ftl" template="/userSearch.ftl">
<put-attribute name="header" value="/userSearchHeader.ftl" />
<put-attribute name="body" value="/userSearchBody.ftl" />
<put-attribute name="foo" value="/footer.ftl" />
</definition>

</tiles-definitions>



UserAction-add-validation.xml文件
<!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="user.username">
<field-validator type="requiredstring" short-circuit="true">
<message>username is required!</message>
</field-validator>
</field>
<field name="user.password">
<field-validator type="requiredstring" short-circuit="true">
<message>password is required!</message>
</field-validator>
</field>

</validators>
changjiangzhibin 2008-01-16
  • 打赏
  • 举报
回复
查一下ActionServlet中的代码
概述...............................................................................................................................3
Framework概念...........................................................................................................3
Struts的概念和体系结构.............................................................................................4
Struts的与Web App的关系.......................................................................................................4
Struts的体系结构.....................................................................................................................4
从视图角度(View)......................................................................................................5
从模型角度(Model)....................................................................................................5
从控制器角度(Controller)..........................................................................................5
Struts的基本组件包.................................................................................................................5
Struts framework的工作原理和组件.........................................................................6
Struts ActionServlet控制器对象...............................................................................................7
Struts Action Classes.................................................................................................................7
Struts Action Mapping..............................................................................................................8
使用ActionForward导航..........................................................................................................9
Struts ActionForm Bean捕获表单数据..................................................................................10
Struts的其他组件...................................................................................................................11
Validation Framework for Struts.....................................................................................11
Struts TagLib...................................................................................................................11
BeanUtils........................................................................................................................11
Collections.....................................................................................................................12
Digester..........................................................................................................................12
Struts配置文件简介...................................................................................................12
有关Struts Controller及其相关的的配置描述......................................................................12
有关struts tag lib的配置描述.................................................................................................13
有关Struts Action Mapping的配置描述................................................................................13
Form-bean元素...............................................................................................................14
Action元素......................................................................................................................14
Struts高级特性(Struts Advanced Feature).........................................................16
验证........................................................................................................................................16
使用异常处理声明.................................................................................................................18
使用应用模块(Application Modules)...............................................................................20
把JSP放到WEB-INF后以保护JSP源代码............................................................................21
使用 Prebuilt Action类提升开发效率..................................................................................22
Struts标记库...............................................................................................................24
定制JSP标记...........................................................................................................................24
资源束....................................................................................................................................25
Bean标记...............................................................................................................................26
Bean复制标记................................................................................................................26
定义脚本变量的标记.....................................................................................................27
显示Bean属性................................................................................................................28
消息标记和国际化.........................................................................................................28
逻辑标记................................................................................................................................29
条件逻辑.........................................................................................................................29
重复标记.........................................................................................................................31
转发和重定向标记.........................................................................................................32
HTML标记.............................................................................................................................33
显示表单元素和输入控件.............................................................................................33
显示错误信息的标记.....................................................................................................37
其他HTML标记.............................................................................................................38
模板标记................................................................................................................................38
一个简单的示例.........................................................................................................40
Struts的安装...........................................................................................................................40
第一个实验:简单的JSP页...................................................................................................40
第二个实验:struts的国际化................................................................................................41
struts中的Forms......................................................................................................................44
struts:介绍ActionForm...........................................................................................................48
分离Book和BookForm的一个好方法...................................................................................50

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧