浏览 3510 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-12-19
使用在服务器端验证的方法。 在register.jsp页面中写入以下代码: <s:form action="register"> <s:textfield name="username" label="username"></s:textfield> <s:password name="password" label="password"></s:password> <s:submit label="submit" align="center"></s:submit> </s:form> 在result.jsp页面中加入以下代码: <s:text name="username:"></s:text> <s:property value="username"/><br> <s:text name="password:"></s:text> <s:property value="password"/> web.xml中的代码: <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app> 在index.jsp页面中加入一行JS或JAVA代码使其自动跳转到home.action 在struts.xml中代码如下: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="struts2" extends="struts-default" namespace="/user"> <action name="register" class="action.RegisterAction"> <result name="success">/result.jsp</result> <result name="input">/register.jsp</result> </action> <action name="home" class="action.HomeAction"> <result name="success">/register.jsp</result> </action> </package> </struts> HomeAction中直接return "success",在RegisterAction中代码如下: package action; /* * by * tuxiliang * http://hi.baidu.com/oruja */ import java.util.ArrayList; import java.util.List; import java.util.Map; import vo.Person; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; import dao.impl.PersonDAO; @SuppressWarnings("serial") public class RegisterAction extends ActionSupport { private String username; private String password; PersonDAO person; private List messages = new ArrayList(); public List getMessages() { return messages; } public void setMessage(List messages) { this.messages = messages; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String execute()throws Exception { person = new PersonDAO(); List list = person.findByName(this.getUsername().trim()); if(list.isEmpty()){ Person user = new Person(this.getUsername(),this.getPassword()); person.save(user); ActionContext ctx = ActionContext.getContext(); Map session = ctx.getSession(); session.put("username",this.getUsername()); return "success"; } else { this.addFieldError("username", "the username is already registered!"); return "input"; } } @Override public void validate() { if(null==this.getUsername()||"".equals(this.getUsername().trim())){ this.addFieldError("username", "username required!"); } else if(null==this.getPassword()||"".equals(this.getPassword().trim())){ this.addFieldError("password", "password required!"); } } } 另外还有一个struts.properties的文件,是为了防止报错,网上有解释,有关hibernate的映射文件以及PersonDAO就不贴上来了,相信大家也知道是怎么回事。运行服务器后图示效果见附件。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-03-14
怎么防止重复提交
|
|
返回顶楼 | |
发表时间:2008-03-17
怎么用<s:iterator>标签通过POJO生成一个列表啊?
也就是怎么样从ACTION把ITERATOR传到JSP页面上? |
|
返回顶楼 | |
发表时间:2008-04-12
全部贴上来啊,晕
|
|
返回顶楼 | |
发表时间:2008-06-23
用Token就可以防止重复提交
|
|
返回顶楼 | |