日本国产亚洲-日本国产一区-日本国产一区二区三区-日本韩国欧美一区-日本韩国欧美在线-日本韩国欧美在线观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

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

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

更新時間:2021-09-25 文章作者:未知 信息來源:網絡 閱讀次數:

首先,當然是需要你先對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>

搞定!

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

主站蜘蛛池模板: 国产成人午夜91精品麻豆剧场 | 国产99精品视频 | 欧美精品亚洲精品日韩 | 欧洲自拍偷拍 | 精品国产成人在线 | 欧美精品亚洲精品日韩专区 | 国内精品日本久久久久影院 | 欧美 综合 社区 国产 | 亚洲国产成人精彩精品 | 欧美成人一区二区三区不卡视频 | 美女一级片| 伊人精品在线 | 特级无码毛片免费视频尤物 | 久久国产精品亚洲77777 | 日本不卡高清免费v日本 | 久久久久久久岛国免费观看 | 国产欧美日韩综合一区二区三区 | 国产亚洲视频在线观看 | 欧美日韩激情在线一区二区 | 精品视频免费在线 | 欧美国产亚洲精品a第一页 欧美国产亚洲精品高清不卡 | 免费一级欧美片在线观免看 | 99麻豆久久久国产精品免费 | 精品视频久久久久 | 亚洲香蕉综合在人在线时看 | 深夜影院深a久久 | 91大神在线精品网址 | 日韩高清一级 | 国产大陆老老太老头性视频 | 国产美女福利在线 | 成人日韩在线观看 | 国内精品区一区二区三 | 国产精品55夜色66夜色 | 国产美女精品久久久久久久免费 | 久久精品国产亚洲欧美 | 日韩精品一区二区在线观看 | 久久99热这里只有精品免费看 | 欧美日韩亚洲无线码在线观看 | 日韩在线免费视频 | 久久天天丁香婷婷中文字幕 | 国产高清视频免费最新在线 |