0

フィールド タイプが「select」の 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>

上記のコードは正常に動作していますが、問題は、クエリの結果の要素がコード内のオプションよりも少ない場合に失敗することです。

クエリにある要素と同じ数のオプションを書き込むために、クエリのサイズなどのループを含めるにはどうすればよいですか。動的としましょうか?

よろしくお願いします

4

2 に答える 2

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>

注:スクリプトレットは絶対に使用しないでください

    <%@ 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>
于 2013-10-10T13:30:59.707 に答える