“request.getAttribute”如何独立打印getString,查询结果中有多少个元素?

时间:2013-10-10 13:18:43

标签: java jsp

我正在尝试使用字段类型“selec”创建一个JSP页面,并在其中包含我从数据库中的查询中获取的元素列表。

我的代码:

<%boolean list=false;

List listEnv=(List)request.getAttribute("ListEnvironment");

if(listEnv!=null)%>

Environment:<select name="Environment">
 <option></option>
<%for(int x=0;x<listEnv.size();x++){ 
 if(x==0){
ListOneElement c=(ListOneElement)listEnv.get(x);%>
     <option><%=c.getString1()%></option>
<%}else if(x==1){
ListOneElement c=(ListOneElement)listEnv.get(x);%>
     <option><%=c.getString1()%></option>
<%}else if(x==2){
ListOneElement c=(ListOneElement)listEnv.get(x);%>
     <option><%=c.getString1()%></option>
<%}else if(x==3){
ListOneElement c=(ListOneElement)listEnv.get(x);%>
     <option><%=c.getString1()%></option>
// So on....

<%list=true;%>          
<%if(!list){{%>
<%}}%>
<%}}%>
</select>

上面的代码工作正常,但我的问题是,当我的查询结果中的元素少于代码中的选项时,它会失败。

我如何包含一个具有查询大小的循环或类似的循环,以便编写与查询中的元素一样多的选项。让我们说是动态的吗?

非常感谢提前

2 个答案:

答案 0 :(得分:0)

在jsp文件

上使用它
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

并用于跟踪迭代

Select
<select>
<c:forEach var="item" items="${ListEnvironment}">
   <option><c:out value="${item.string1}"/></option>
</c:forEach>
</select>

注意:永远不要使用scriptlet

    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h1>Hello World!</h1>
        Environment:<select name="Environment">
                        <option></option>
            <c:forEach var="item" items="${ListEnvironment}">
                <option>
                    <c:out value="${item.string1}"/>
                </option>
            </c:forEach>
        </select>
    </body>
</html>

答案 1 :(得分:0)

<%for(int x=0;x<listEnv.size();x++){
ListOneElement c=(ListOneElement)listEnv.get(x);%>
     <option><%=c.getString1()%></option><%}

这已经足够了,你不需要if条件