浏览 8489 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-01-30
input.jsp: 引用 <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ page contentType="text/html; charset=GBK" %> <html:html> <head><title>Test</title></head> <body> <html:form action="/testAction.do" method="post"> <br> <html:text property="name"/> <br> <html:text property="pass"/> <br> <html:submit property="submit" value="Submit"/><br> </html:form> </body> </html:html> success.jsp: 引用 <%@ page contentType="text/html; charset=GBK" %> <html><head><title>success</title></head> <body bgcolor="#ffffff"> success! </body> </html> TestForm: 引用 package test; import javax.servlet.http.*; import org.apache.struts.action.*; public class TestForm extends ActionForm { private String name; private String pass; public void setPass(String pass) { this.pass = pass; } public void setName(String name) { this.name = name; } public String getName() { return name; } public String getPass() { return pass; } public ActionErrors validate(ActionMapping actionMapping, HttpServletRequest httpServletRequest) { /** @todo: finish this method, this is just the skeleton.*/ return null; } public void reset(ActionMapping actionMapping, HttpServletRequest servletRequest) { } } TestAction: 引用 package test; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionForm; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForward; import org.apache.struts.action.Action; import org.apache.log4j.Logger; public class TestAction extends Action { private static final transient Logger log = Logger.getLogger(TestAction.class); public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { TestForm testForm = (TestForm) form; if (testForm.getName() == null) { saveToken(request); return mapping.getInputForward(); } if (!isTokenValid(request)) { saveToken(request); log.debug("不能重复提交!"); return mapping.getInputForward(); } log.debug("添加成功!"); resetToken(request); return mapping.findForward("success"); } } struts-config.xml: 引用 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"> <struts-config> <form-beans> <form-bean name="testActionForm" type="test.TestForm"/> </form-beans> <action-mappings> <action name="testActionForm" path="/testAction" type="test.TestAction" scope="request" input="/index.jsp" validate="false"> <forward name="success" path="/success.jsp"/> </action> </action-mappings> <message-resources parameter="ApplicationResources"/> </struts-config> 编写完上边的代码后:http://localhost:8080/test/testAction.do可以进行测试! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-04-20
如果使用velocity模板,而不使用struts的标签(velocity),在struts2下怎么解决重复提交问题呢?
|
|
返回顶楼 | |
发表时间:2007-04-20
WEBWORK以前在页面上可以用标签来声明一个TOKEN,现在STRUTS要写在ACTION里吗?
|
|
返回顶楼 | |
发表时间:2007-04-20
sunsy 写道 WEBWORK以前在页面上可以用标签来声明一个TOKEN,现在STRUTS要写在ACTION里吗?
因为要在action里面判断token是否合法 |
|
返回顶楼 | |