Thứ Tư, 5 tháng 6, 2013

Action, ActionForm trong struts


Trên form feedback khi nhập thông tin vào form sau đó submit tất cả dữ liệu trên form sẽ được hiển thị qua trang khác.
- Trang index.jsp


Trang kết quả: feekback.jsp



  1. Trang index.jsp

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
        <%@taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    <html:form action="feakback.do">
    <table>
    <tr align="center" style="height: 40px;font-size: 25px;font-weight: bold"><td colspan=2">FeekBack</td></tr>
      <tr>
        <td>Name:</td>
        <td><html:text property="name" name="feakBackActionForm"/></td>
      </tr>
      <tr>
        <td>Sex:</td>
        <td>
            <html:radio property="sex" value="F" name="feakBackActionForm">Female</html:radio>
            <html:radio property="sex" value="M" name="feakBackActionForm">Male</html:radio>
        </td>
      </tr>
      <tr>
        <td>Comments:</td>
        <td><html:textarea property="comments" name="feakBackActionForm"></html:textarea>
    </td>
      </tr>
      <tr><td colspan="2"><html:submit/></td></tr>
    </table>   
    </html:form>
    </body>
    </html>
  2. Trang feekback.jsp

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
        <%@taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>  
        <%@taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic" %>

    <h3>FeekBack</h3>
    <body>
    Name :<bean:write name="feakBackActionForm" property="name"/><br>
    Sex :<logic:equal name="feakBackActionForm" property="sex" value="M">Male</logic:equal>
    <logic:equal value="F" name="feakBackActionForm" property="sex">Female</logic:equal>
    <br></br>
    Comments : <bean:write name="feakBackActionForm" property="comments"/>
    </body>
  3. FeakBackAction

    public class FeakBackAction extends Action {
    @Override
    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        // TODO Auto-generated method stub
       
        FeakBackActionForm frm=(FeakBackActionForm)form;
        if(frm.getName().equals(""))
        {   
        return mapping.findForward("tb");
        }else
        return mapping.findForward("tc");
           
    }}
  4. FeakBackActionForm
    package pack;

    import org.apache.struts.action.ActionForm;

    public class FeakBackActionForm extends ActionForm {
      
      private static final long serialVersionUID = 1L;
    private String name;
    private String sex;
    private String comments;

    public FeakBackActionForm(){   
    }
    public FeakBackActionForm(String name,String sex,String comments){
        this.name=name;
        this.sex=sex;
        this.comments=comments;
    }

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    public String getComments() {
        return comments;
    }
    public void setComments(String comments) {
        this.comments = comments;
    }

    }
  5. struts-config.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts-config PUBLIC
              "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
              "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
    <struts-config>
        <form-beans>
            <form-bean name="feakBackActionForm" type="pack.FeakBackActionForm"></form-bean>
        </form-beans>   
        <action-mappings>
            <action path="/feakback" name="feakBackActionForm" scope="request" type="pack.FeakBackAction">
            <forward name="tc" path="/feedback.jsp"></forward>       
            </action>       
        </action-mappings>   
    </struts-config>


Không có nhận xét nào:

Đăng nhận xét