[摘要]appName.length() < 1) errors.add("application name", new ActionError("error.appna... 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.sdivadsheet.db.MenusTreeTable; import com.mainet.core.sdivadsheet.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 redivsent 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>
搞定! |
关键词: struts的一个容易的包含select下拉框的例子