struts2返回结果集input值的作用于用法
在struts.xml配置文件当中action下的result标签name值为input时,即:<result name="input"></result>能起到校验数据并自动跳转到指定的链接下。
比如咋输入的数据要求是整形实际输入却是字符串;要求不能提交为空的字符,提交的实际数据却是空的等等。当检验数据不符合要求时候,可以使用<result name="input"></result>跳转到指定的页面链接或者action等。
诶呀,讲的不清楚,用实际的小demo来看看也许能更易懂一点。
定义一个数据封装的对象Java bean类:User
public class User implements Serializable{ private String name; private String psw; private int age; //下面还要实现三属性的get/set方法 }
struts.xml文件配置如下:
<action name="sectAction" class="com.usc.geowind.lilin.actions.SecAction" method="execute"> <result name="success"> /success.jsp </result> <!-- 数据校验错误时候执行该返回集 --> <result name="input"> /inputError.jsp </result> </action>
此时我们在action类中,只实现数据封装,不做任何的数据校验判定。
public class SecAction extends ActionSupport { private User user; @Override public String execute() throws Exception { System.out.println(user); return SUCCESS; } public User getUser() { return user; } public void setUser(User user) { this.user = user; } }
当从前台提交的表单中的age值是字符串时候,action就会自动的跳转到inputError.jsp页面下,当数据提交是符合要求的时候就会跳转到success.jsp页面下
怎么使用<result name="input"></result>进行数据校验呢?
以上面的为例,校验用户名是否为空,数据为空是不符合要求则继续跳转到Login.jsp页面
Login.jsp部分代码
<s:form namespace="" action="sectAction" method="post"> <s:textfield label="useName" name="user.name"/> <s:fielderror name="userNameError"></s:fielderror> <s:textfield label="age" name="user.age"/> <s:password label="psw" name="user.psw"/> <s:submit label="submit"></s:submit> <s:reset label="reset"></s:reset> </s:form>
action类的代码:
public String execute() throws Exception { if (user.getName() == null || "".equals(user.getName())) { //向jsp的struts标签提示信息 this.addFieldError("userNameError", "用户名输入有误!"); //必须写return语句,不然校验没起到任何作用 return INPUT; } System.out.println(user); return SUCCESS; }
校验的代码写在execute方法中,必须返回input字符串,否则不起什么作用。除了这种写法外,也可以把校验的代码写在validate方法中,这样不需返回值也可以达到相同的作用
@Override public void validate() { if (user.getName() == null || "".equals(user.getName())) { // 向jsp的struts标签提示信息 this.addFieldError("userNameError", "用户名输入有误!"); } }
相关推荐
用于SSH框架的搭建,包含所有SSH需要的jar包和配置文件!!!
简单的ssh项目,泛型BaseAction配置,简单注解配置,applicationContext.xml配置,jar包地址 链接:https://pan.baidu.com/s/14NkywuhG6mESyhE1VMkhOQ 密码:en19
ssh框架用struts2 hibernate实现图片的上传源码
ssh Jar 之struts2jarssh Jar 之struts2jarssh Jar 之struts2jarssh Jar 之struts2jar
介绍了Java EE领域的三个开源框架:Struts 2、Spring和Hibernate。 这是第三部分,我上传的上限是60MB,所以不得不分包额!
MyEclipse开发SSH2(Struts2+Spring+Hibernate)教程
新手初试牛刀,花了3天时间!各种版本不兼容! 尝试了6个版本的hibernate,3个版本的spring, 终于试出来了! 终于圆满了! ...struts-2.3.16+hibernate-3.6.10+spring-framework-3.2.6 jdk-1.7.0
SSH笔记 Struts2配置 demo , 包含随时用的struts2 jar 和简单的配置
MyEclipse开发SSH2(Struts2+Spring+Hibernate)应用教程——根据软件工程原则简化实现的JSP+J2EE入门教程 摘要:SSH2(Struts2+Spring+Hibernate)是当前开发Java动态网站的流行框架。虽然其涉及的技术较为繁杂,...
ssh2(struts2+spring2.5+hibernate3.3+ajax)带进度条文件上传(封装成标签)
ssh集成(Struts2+Hibernate3+spring2) ssh集成(Struts2+Hibernate3+spring2)ssh集成(Struts2+Hibernate3+spring2)ssh集成(Struts2+Hibernate3+spring2)ssh集成(Struts2+Hibernate3+spring2)
SSH4(struts2框架验证)02SSH4(struts2框架验证)02
最近用到ssh整合发现忘了不少,特整理上传包含struts1和struts2
sshplus项目 Struts2+Spring2+Hibernate3整合演示 part1 sshplus项目 Struts2+Spring2+Hibernate3整合演示 part2 sshplus项目 Struts2+Spring2+Hibernate3整合演示 part3
SSH4(struts2框架验证)01SSH4(struts2框架验证)01SSH4(struts2框架验证)01
SSH架构学习之入门的优秀struts学习之ppt。希望学习spring和Hibernate的可以下载之ppt。
ssh项目的一个小例子,带mysql数据库,自定义struts1,运行环境 jdk1.5下。
NULL 博文链接:https://liuzidong.iteye.com/blog/1042172
oa系统_ssh2_Struts2+spring2.5+JPA) oa系统_ssh2_Struts2+spring2.5+JPA) oa系统_ssh2_Struts2+spring2.5+JPA) oa系统_ssh2_Struts2+spring2.5+JPA)