|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
首先,当然是需要你先对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 *@created 2003年6月4日 *@version 1.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 *@created 2003年6月4日 *@version 1.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 *@created 2003年6月4日 *@version 1.0 */ public class HtmlSelectOption implements Serializable { private String id; private String displayName; /** * Constructor for the HtmlSelectOption object */ public HtmlSelectOption() { } /** * Constructor for the HtmlSelectOption object * *@param id Description of the Parameter *@param displayName Description 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> 返回类别: 教程 上一教程: 制作可以执行的 JAR 文件包及 JAR 命令详解 下一教程: VECTOR在JAVA编程中的应用 您可以阅读与"STRUTS的一个简朴的包含SELECT下拉框的例子"相关的教程: · 用正则表达式判定一个简朴的用户登陆的例子 · 使用STRUTS在框架页面中不能指定目标框架的一个解决办法 · 一个体现Java接口及工厂模式长处的例子 · Java JDBC连接的一个例子 · 使用JSP + JAVABEAN + XML 开发的一个例子 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |