隨筆-8  評論-8  文章-10  trackbacks-0
                  在早期jsp的開發(fā)中會用到大量的Scriptlet代碼,這樣造成了jsp頁面維護性和可讀性的下降,而Struts所帶的標(biāo)簽庫在一定程度上解決了此問題,所以我們提倡使用標(biāo)簽而不是用Scriptlet。

          三、html標(biāo)簽
              html標(biāo)簽種類很多,而且也沒有什么難度,常用的有
              <html:form>
              <html:text>
              <html:password>
              <html:textarea>
              <html:submit>
              <html:reset>
              <html:button>
              <html:select>
              <html:option>
              <html:radio>
              <html:checkbox>
              
              著重介紹幾個需要注意的標(biāo)簽
          1.<html:radio>
              a.創(chuàng)建jsp文件
          <%@ page language="java" pageEncoding="utf-8"%>

          <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
          <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
          <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
          <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>


          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
          <html:html lang="true">
            
          <head>
              
          <title>html01.jsp</title>
            
          </head>
            
            
          <body>
              
          <html:form action="test.do" method="post">
                  Male
          <html:radio property="gender" value="male"></html:radio>
                  Female
          <html:radio property="gender" value="female"></html:radio><br>
                  
          <html:submit></html:submit>
              
          </html:form>
            
          </body>
          </html:html>
          b.創(chuàng)建ActionForm 與 Action
          TestForm中 唯一的屬性就是gender
          package com.yourcompany.struts.form;

          import org.apache.struts.action.ActionForm;

          public class TestForm extends ActionForm {
              
          private String gender ;

              
          public String getGender() {
                  
          return gender;
              }

              
              
          public void setGender(String gender) {
                  
          this.gender = gender;
              }

          }

          TestAction中 只打印gender
          package com.yourcompany.struts.action;

          import javax.servlet.http.HttpServletRequest;
          import javax.servlet.http.HttpServletResponse;
          import org.apache.struts.action.Action;
          import org.apache.struts.action.ActionForm;
          import org.apache.struts.action.ActionForward;
          import org.apache.struts.action.ActionMapping;
          import com.yourcompany.struts.form.TestForm;

          public class TestAction extends Action {
              
              
          public ActionForward execute(ActionMapping mapping, ActionForm form,
                      HttpServletRequest request, HttpServletResponse response) 
          {
                  TestForm testForm 
          = (TestForm) form;// TODO Auto-generated method stub
                  System.out.println(testForm.getGender());
                  
          return null;
              }

          }

          c.配置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>
            
          <data-sources />
            
          <form-beans >
              
          <form-bean name="testForm" type="com.yourcompany.struts.form.TestForm" />
            
          </form-beans>

            
          <global-exceptions />
            
          <global-forwards />
            
          <action-mappings >
              
          <action
                
          attribute="testForm"
                input
          ="/form/test.jsp"
                name
          ="testForm"
                path
          ="/test"
                scope
          ="request"
                type
          ="com.yourcompany.struts.action.TestAction" />
            
          </action-mappings>
            
          <message-resources parameter="com.yourcompany.struts.ApplicationResources" />
          </struts-config>

          很簡單 但是有時我們需要radio有默認(rèn)值
          解決方法只需要在TestForm中的
          private String gender;
          修改成
          private String gender = "male";
          那么 gender的默認(rèn)值就是 male了


          2.<html:select>與<html:option>
          a.創(chuàng)建jsp文件
          <%@ page language="java" pageEncoding="utf-8"%>

          <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
          <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
          <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
          <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>


          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
          <html:html lang="true">
            
          <head>
              
          <title>html02.jsp</title>
            
          </head>
            
            
          <body>
            
          <html:form action="test.do" method="post">
              配件:
          <html:select property="part">
                  
          <html:option value="cup">CUP</html:option>
                  
          <html:option value="motherboard">主板</html:option>
                  
          <html:option value="momery">內(nèi)存</html:option>
                  
          <html:option value="cdrom">光驅(qū)</html:option>
                  
          <html:option value="monitor">顯示屏</html:option>
              
          </html:select>
              
          <html:submit value="submit"/>
              
          </html:form>
            
          </body>
          </html:html>

          b.創(chuàng)建ActionForm 和 Action
          TestForm中 唯一的屬性就是part
          package com.yourcompany.struts.form;

          import org.apache.struts.action.ActionForm;

          public class TestForm extends ActionForm {
              
          private String part;
              
          public String getPart() {
                  
          return part;
              }


              
          public void setPart(String part) {
                  
          this.part = part;
              }

          }

          TestAction中 只打印part
          package com.yourcompany.struts.action;

          import javax.servlet.http.HttpServletRequest;
          import javax.servlet.http.HttpServletResponse;
          import org.apache.struts.action.Action;
          import org.apache.struts.action.ActionForm;
          import org.apache.struts.action.ActionForward;
          import org.apache.struts.action.ActionMapping;
          import com.yourcompany.struts.form.TestForm;

          public class TestAction extends Action {
              
              
          public ActionForward execute(ActionMapping mapping, ActionForm form,
                      HttpServletRequest request, HttpServletResponse response) 
          {
                  TestForm testForm 
          = (TestForm) form;// TODO Auto-generated method stub
                  System.out.println(testForm.getPart());
                  
          return null;
              }

          }
          c.struts-config.xml文件不變

          還是很簡單的一個例子 同樣有時我們需要select有默認(rèn)值
          解決方法只需要在TestForm中的
          private String part;
          修改成
          private String part = "motherboard";
          那么 part的默認(rèn)值就是 主板了


          每天進步一點點

          posted on 2008-08-12 17:40 應(yīng)越 閱讀(416) 評論(0)  編輯  收藏 所屬分類: struts學(xué)習(xí)
          主站蜘蛛池模板: 和龙市| 买车| 太谷县| 文水县| 西丰县| 东乡县| 象山县| 衡阳县| 林西县| 淳安县| 吴川市| 安宁市| 乡宁县| 蓬安县| 营山县| 炉霍县| 德庆县| 永福县| 肇庆市| 临颍县| 文成县| 海安县| 庆安县| 伊宁县| 伊宁市| 寿光市| 永年县| 赤水市| 寿宁县| 任丘市| 南雄市| 山西省| 六枝特区| 邹平县| 夏河县| 杭锦旗| 肥东县| 和平县| 思南县| 楚雄市| 莎车县|