如何用jsp做个树形下拉框??

最好下拉框可以实现多选的功能... 最好下拉框可以实现多选的功能 展开
 我来答
育知同创教育
2016-03-09 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部

用jsp做树形下拉框可以用java自定义标签实现。

参考代码如下:

package com.moonNigh.tagSupport;

import java.io.IOException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;

/**
 *
 *
 * 树形下拉选择控件
 *
 */

public class SelectorTag extends TagSupport {

    private static final long serialVersionUID = 9878861374414215L;
    
    //标签name属性
    private String name;
    
    //所需图片的路径
    private String imgPath;
    
    //所需javascript文件的路径
    private String scriptPaht;
    
    //所需css文件的路径
    private String cssPath;
    
    //项目的根路径
    private String rootPath;
    
    //标签的value属性
    private String value;
    private String text;
    private String path;
    
    /*
     * 标签的actionUrl属性
     * 联想查询结果数据通过向actionUrl属性指定的url请求得到
     */
    private String actionUrl;
    
    private HttpServletRequest request=null;
    
    
    public String getActionUrl() {
        return actionUrl;
    }
    public void setActionUrl(String actionUrl) {
        this.actionUrl = actionUrl;
    }
    public String getValue() {
        return value;
    }
    public void setValue(String value) {
        this.value = value;
    }
    public String getImgPath() {
        return imgPath;
    }
    public void setImgPath(String imgPath) {
        this.imgPath = imgPath;
    }
    public String getScriptPaht() {
        return scriptPaht;
    }
    
    public void setScriptPaht(String scriptPaht) {
        this.scriptPaht = scriptPaht;
    }
    public String getCssPath() {
        return cssPath;
    }
    
    public void setCssPath(String cssPath) {
        this.cssPath = cssPath;
    }
    
    
    public String getText() {
        return text;
    }
    public void setText(String text) {
        this.text = text;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public SelectorTag()
    {
        
    }
    
    
    /**
     * 初始化变量
     */
    private void initAbttributes()
    {
        request=(HttpServletRequest)this.pageContext.getRequest();
        rootPath=request.getContextPath();
        this.imgPath="/images/";
        this.scriptPaht="/js/";
        this.cssPath="/css/";
        
    }
    @Override
    public int doStartTag() throws JspException {
        initAbttributes();
        path=rootPath+"/jsp/tags/treeSelectorPage.jsp?id="+id+"&actionUrl="+actionUrl;
        JspWriter out=pageContext.getOut();
        try {
            String tName=name;
            //引入javascript文件
            out.println("<script type='text/javascript' charset='GB2312' src='"+rootPath+scriptPaht+"selector.js'></script>");
            
            //引入css文件
            out.println("<link rel='stylesheet' href='"+rootPath+cssPath+"selector.css' type='text/css' />");
            
            StringBuilder tag=new StringBuilder("<input type='text' ");
            tag.append("id='").append(id).append("'");
            tag.append(" value='").append(text==null?"":text).append("'");
            tag.append(" onclick='return showSelector(\"");
            tag.append(id).append("\",\"").append(path).append("\")' readonly>");
            tag.append("<input type='hidden' name='")
            .append(tName).append("' id='").append(id).append("_value")
            .append("' value='").append(value==null?"":value).append("'>");
            out.println(tag.toString());
        } catch (IOException e) {
            e.printStackTrace();
        }
        return SKIP_BODY;
    }
    
    
}

运行结果:

程序那点事
推荐于2016-06-26 · TA获得超过6140个赞
知道大有可为答主
回答量:3253
采纳率:59%
帮助的人:1338万
展开全部
我的采用的是javabena+jsp

一个javabean
public ArrayList selectCourseInfo()throws Exception {//下拉框显示课程信息
ArrayList list = new ArrayList();
try {
db.open();
ResultSet rs = db.select("select * from CourseInfo");
while (rs.next()) {
list.add(new CourseInfo(rs.getInt(1), rs.getString(2),rs.getString(3)));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
db.close();
}
return list;
}

然后在jsp中调用

<tr><td>课 程:<select name="course">
<%try{
ArrayList list=m.selectCourseInfo();
if(list.isEmpty()){
out.println("没有数据显示");
}
for(int i=0;i<list.size();i++){
CourseInfo c=(CourseInfo)list.get(i);%>
<option><%=c.getName()%></option>
<%}}
catch(Exception e){}
%></select>
</td></tr>
这样就可以动态的显示了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式