2009-05-03 2 views
0

html 형식의 데이터베이스에 일부 데이터를 제출했습니다. 그런 다음 해당 데이터의 한 열을 다른 양식의 <select>에로드해야합니다. 나는 이것을했으나 기록의 수가 증가함에 따라 어떻게 옵션을 늘릴 것인가?내 <select> 요소를 Java 데이터베이스에서 다시로드하는 방법

다음
<%@ page import="java.util.*"%> 
<%@ page import="java.lang.*"%> 

<%! 
    ArrayList al; 
    Object o[]; 
    String s[] = new String[10]; 
%> 

<jsp:useBean id="c" class="com.ebbeans.ViewBean"/> 
<jsp:setProperty name="c" property="*"/> 

<% 
    al = c.loadExistingEmpCode(); 
    o = al.toArray(); 

    for (int i = 0; i < o.length; i++) { 
     s[i] = (String) o[i]; 
    } 
%> 

    .......... 
    .......... 

     <select name="empCode" size="1" id="empCode"> 
      <option value="<%= s[0] %>" selected><%= s[0] %></option> 
      <option value="<%= s[1] %>"><%= s[1] %></option> 
      <option value="<%= s[2] %>"><%= s[2] %></option> 
      <option value="<%= s[3] %>"><%= s[3] %></option> 
      <option value="<%= s[4] %>"><%= s[4] %></option> 
     </select> 

5 옵션이 표시됩니다 다음과 같이

코드입니다. 레코드가 증가 할 때 동적으로 옵션 수를 어떻게 늘릴 수 있습니까?

답변

0

나는 C#을 코더,하지만 난 당신이 이런 식으로 뭔가 할 생각 :

<%@ page import="java.util."%> 
    <%@ page import="java.lang."%> 
    <%! ArrayList al = c.loadExistingEmpCode(); 

     for(int i=0; i < ai.Count; i++) 
     { 

    %> 

    <option><%= ai[0].toString() %></option> 

    <% } %> 
2

가 시작하기를 JSP에서 하지 사용 스크립틀릿을한다. 그들은 10 년 이래 taglibs와 EL로 대체되었습니다. 일반적으로 사용되는 taglib는 JSTL이며 정확한 목적으로 <c:forEach> 태그를 제공합니다. EL을 사용하면 JSP 페이지에서 백엔드 데이터에 완벽하게 액세스 할 수 있습니다.

다음은 코드를 가장 잘 대체하는 방법입니다.

직원 :

public class Employee { 
    private Long code; 
    private String name; 
    // +getters +setters 
} 

EmployeeServlet :

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    List<Employee> employees = employeeDAO.list(); 
    request.setAttribute("employees", employees); 
    request.getRequestDispatcher("employees.jsp").forward(request, response); 
} 

하여 employees.jsp :

<select name="employee"> 
    <c:forEach items="${employees}" var="employee"> 
     <option value="${employee.code}">${employee.name}</option> 
    </c:forEach> 
</select> 

/employees/*url-pattern에 EmployeeServlet을지도하고 http://example.com/contextroot/employees하여 호출합니다. 행운을 비으며 JSP scriptlet을 무료로 유지하십시오 :)

관련 문제