<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      struts的一個容易的包含select下拉框的例子

      [摘要]首先,當然是需要你先對struts有一定的了解:)1. 定義相應頁面(client.jsp)的form bean,這里假設為ClientForm;注意在struts_config.xml中定義映射關...
      首先,當然是需要你先對struts有一定的了解:)

      1. 定義相應頁面(client.jsp)的form bean,這里假設為ClientForm;注意在struts_config.xml中定義映射關系;client.jsp中包含了你需要的html form內容,比如一個select下拉框;

      這里是form bean的代碼(其實就是一個java bean,繼承了ActionForm,然后需要重載reset和validate方法):
      -----------------------------------------------
      package com.egi.core.ioblock.form;

      import javax.servlet.http.HttpServletRequest;
      import org.apache.struts.action.ActionForm;
      import org.apache.struts.action.ActionMapping;
      import org.apache.struts.action.ActionError;
      import org.apache.struts.action.ActionErrors;

      /**
      *Copyright: Copyright (c) 2002</p> <p>
      *@author sjoy
      *@created2003年6月4日
      *@version1.0
      */

      public class LoginForm extends ActionForm {

      //-----------------------------Instance Variable
      private String appName = null;
      private String type = null;

      public String getAppName() {
      return appName;
      }

      public void setAppName(String appName) {
      this.appName = appName;
      }

      public String getType() {
      return type;
      }

      public void setType(String type) {
      this.type = type;
      }

      public void reset(ActionMapping mapping, HttpServletRequest request) {
      appName = null;
      type = null;
      }

      public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {

      ActionErrors errors = new ActionErrors();
      if (appName == null appName.length() < 1) {
      errors.add("application name", new ActionError("error.appname.required"));
      }
      return errors;
      }
      }
      -----------------------------------------------


      這里是ActionServlet代碼,繼承Action:
      -----------------------------------------------
      package com.egi.core.ioblock.action;

      import java.io.IOException;
      import java.sql.SQLException;
      import javax.servlet.ServletException;
      import javax.servlet.http.HttpSession;
      import javax.servlet.http.HttpServletRequest;
      import javax.servlet.http.HttpServletResponse;
      import org.apache.struts.action.Action;
      import org.apache.struts.action.ActionError;
      import org.apache.struts.action.ActionErrors;
      import org.apache.struts.action.ActionForm;
      import org.apache.struts.action.ActionMapping;
      import org.apache.struts.action.ActionForward;
      import com.egi.core.ioblock.form.LoginForm;
      import com.mainet.core.spreadsheet.db.MenusTreeTable;
      import com.mainet.core.spreadsheet.ProjectFactory;

      /**
      *Copyright: Copyright (c) 2002</p> <p>
      *@author sjoy
      *@created2003年6月4日
      *@version1.0
      */

      public class LoginAction extends Action {

      public ActionForward perform(ActionMapping mapping,
      ActionForm form,
      HttpServletRequest request,
      HttpServletResponse response)
       throws IOException, ServletException {

      ActionErrors errors = new ActionErrors();
      String appName = ((LoginForm) form).getAppName();

      //下面是你所需要的一些邏輯
      ...
      HttpSession session = request.getSession();
      ...

      return mapping.findForward("success");
      }
      }

      -----------------------------------------------


      2. 寫一個bean,專門用來保存select的option集合。代碼如下:
      -----------------------------------------------
      package com.egi.core.ioblock.util;

      import java.io.Serializable;

      /**
      *Description: This class is a bean, used to represent one option in an HTML
      *drop-down 'select' list. It contains two properties - see {@link
      *getDisplayName()} and {@link getInternalId()} for a description. Useful in a
      *struts Form class for constructing a select list to pass to the jsp with the
      *<tt><html:select></tt> and <tt><html:option></tt> tags.</p> <p>
      *@author sjoy
      *@created2003年6月4日
      *@version1.0
      */

      public class HtmlSelectOption implements Serializable {
      private String id;
      private String displayName;

      /**
       *Constructor for the HtmlSelectOption object
       */
      public HtmlSelectOption() { }

      /**
       *Constructor for the HtmlSelectOption object
       *
       *@paramid Description of the Parameter
       *@paramdisplayNameDescription of the Parameter
       */
      public HtmlSelectOption(String id, String displayName) {
      this.id = id;
      this.displayName = displayName;
      }

      public String getDisplayName() {
      return displayName;
      }

      public void setDisplayName(String displayName) {
      this.displayName = displayName;
      }

      public String getId() {
      return id;
      }

      public void setId(String id) {
      this.id = id;
      }
      }
      -----------------------------------------------

      3. ok,接下來從db或者其它地方去取下拉列表中的具體內容;
      java.util.Iterator iter = ....;//這里假設從數據庫中取得數據
      java.util.ArrayList list = new java.util.ArrayList();
      String obj;
      while(iter.hasNext()){
      obj = (String)iter.next();
      list.add(new com.egi.core.ioblock.util.HtmlSelectOption(obj,obj));
      }
      pageContext.setAttribute("appNames", list);

      注意:這段邏輯也可以寫在ClienetForm中通過javabean的方式在頁面上獲得這個集合。

      4. 然后就是頁面上使用啦:)
      <html:select property="type">
      <html:options collection="appNames" property="id"
       labelProperty="displayName"/>
      </html:select>

      搞定!


      日韩精品一区二区三区高清