2014-10-16 4 views
0

Я работаю над простым приложением Spring mvc, которое заполняет выпадающий список на основе другого. Я отправляю свой класс pojo на страницу jsp - «info». который содержит список объектов.Зацикливание на список объектов на странице jsp

Я хочу заполнить базы 2-го списка в первом списке данными списка.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
<title>HELLO WORLD</title> 
</head> 
<body> 
<script> 
$(document).ready(function(){ 


     $("#selectApi").change(function(){ 
     var x =$("#selectApi").val(); 
     var privateMeth = '${apiInfo.getPrivateApiMethods()}'; 
     var publicMeth = '${apiInfo.getPublicApiMethods()}'; 
     if(x=="privateApi"){ 
      $("#selectFunction").append(new Option('${apiInfo.getPrivateApiMethods().get(0).getMethodName()}', "val")) 
     } 

     **for(i in '${publicMeth}){ 
      alert(i) 

     }** 
     alert("end") 

     }); 
    }); 




</script> 

First name: <input type="text" name="fname" value=${privateMethods}><br> 
<select id ="selectApi"> 
<option>----select an api------</option> 
<option value="privateApi">PrivateAPI</option> 
<option value="publicApi">PublicAPI</option> 
</select> 
<br/> 
<select id="selectFunction"> 
<option>----select a function------</option> 
</select> 


</body> 
</html> 

Как я могу сделать цикл на privateMeth?

здесь мой POJO классы

public class ApiInfo { 

    List<PrivateApiMethod> privateApiMethods; 

    List<PublicApiMethod> publicApiMethods; 

    public List<PrivateApiMethod> getPrivateApiMethods() { 
     return privateApiMethods; 
    } 

    public void setPrivateApiMethods(List<PrivateApiMethod> privateApiMethods) { 
     this.privateApiMethods = privateApiMethods; 
    } 

    public List<PublicApiMethod> getPublicApiMethods() { 
     return publicApiMethods; 
    } 

    public void setPublicApiMethods(List<PublicApiMethod> publicApiMethods) { 
     this.publicApiMethods = publicApiMethods; 
    } 

    @Override 
    public String toString() { 
     return ToStringBuilder.reflectionToString(this, ToStringStyle.MULTI_LINE_STYLE); 
    } 
} 


------------------------ 

public class PrivateApiMethod { 

    String methodName; 
    String methodType; 
    String numOfParam; 

    public String getMethodName() { 
     return methodName; 
    } 

    public void setMethodName(String methodName) { 
     this.methodName = methodName; 
    } 

    public String getMethodType() { 
     return methodType; 
    } 

    public void setMethodType(String methodType) { 
     this.methodType = methodType; 
    } 

    public String getNumOfParam() { 
     return numOfParam; 
    } 

    public void setNumOfParam(String numOfParam) { 
     this.numOfParam = numOfParam; 
    } 


    @Override 
    public String toString() { 
     return ToStringBuilder.reflectionToString(this, 
       ToStringStyle.MULTI_LINE_STYLE); 
    } 
} 
----------------------------------- 

ответ

1

Я не совсем уверен, что я полностью понимаю, что вы пытаетесь достичь.

Если вам просто нужно заполнить список с возвращаемым значением из геттер, то вы могли бы использовать что-то вроде этого:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<jsp:useBean id="apiinfo" class="your.package.ApiInfo" /> 
<c:forEach var="method" items="${apiinfo.privateApiMethods}"> 
    <option>${method.methodName}</option> 
</c:forEach> 

для справок: http://www.tutorialspoint.com/jsp/jsp_java_beans.htm (Access Java Beans из JSP)

how to Use <c:forEach> in scripts tag on JSP page? (Использование foreach в JSP)

+0

Привет @mish мы можем использовать скрипты в jquery.? – kasinavijay

+1

Я так не думаю (но не уверен). http://codingforums.com/javascript-programming/172082-jsp-scriptlet-javascript.html – mish

+0

Что мне нужно, если выбран вариант 1 в первом списке, тогда мне нужно добавить частные методы ко второму выбору, если мы выберите вариант 2 первого выбора, а затем добавьте общедоступные методы в список. – kasinavijay

Смежные вопросы