Java 试图从列表在jsp中实现jstl
以下是我的Java代码:Java 试图从列表在jsp中实现jstl,java,jsp,Java,Jsp,以下是我的Java代码: List<EmployeeBean>questionList=adao.displayQuestions(eBean,functional_id); model.addObject("questionList", questionList); Iterator<EmployeeBean> iterator = questionList.iterator(); while (iterator.hasNext()) {
List<EmployeeBean>questionList=adao.displayQuestions(eBean,functional_id);
model.addObject("questionList", questionList);
Iterator<EmployeeBean> iterator = questionList.iterator();
while (iterator.hasNext()) {
String q_id =iterator.next().getSk_question_id();
System.out.println("QUESTION ID :"+q_id);
List<EmployeeBean>optionList= adao.displayOptions(eBean,q_id);
model.addObject("optionList", optionList);
}
ListquestionList=adao.displayQuestions(eBean,功能id);
model.addObject(“问题列表”,问题列表);
迭代器迭代器=questionList.Iterator();
while(iterator.hasNext()){
字符串q_id=iterator.next().getSk_question_id();
System.out.println(“问题ID:+q_ID”);
ListoptionList=adao.displayOptions(eBean,q_id);
model.addObject(“optionList”,optionList);
}
基于第一个列表(问题列表),字符串q_id将具有多个id。
基于q_id,我将从第二个列表(optionList)中获得多个选项
以下是我在jsp中尝试的内容:
我无法获取optionList值。仅获取列表的最后一个值
<c:forEach var="EmployeeBean" items="${questionList}">
${EmployeeBean.question_name }
<c:forEach var="EmployeeBean" items="${optionList}">
<div class="col-xs-4 starategy-data">
<div class="strategy-head">${EmployeeBean.answer_type }</div>
<p>${EmployeeBean.answer }</p>
</div>
</c:forEach>
</c:forEach>
${EmployeeBean.question_name}
${EmployeeBean.answer\u type}
${EmployeeBean.answer}
试试这个:
List<EmployeeBean>questionList=adao.displayQuestions(eBean,functional_id);
model.addObject("questionList", questionList);
List<EmployeeBean>optionList = new ArrayList<>();
Iterator<EmployeeBean> iterator = questionList.iterator();
while (iterator.hasNext()) {
String q_id =iterator.next().getSk_question_id();
System.out.println("QUESTION ID :"+q_id);
optionList.addAll(adao.displayOptions(eBean,q_id));
}
model.addObject("optionList", optionList);
ListquestionList=adao.displayQuestions(eBean,功能id);
model.addObject(“问题列表”,问题列表);
ListoptionList=新建ArrayList();
迭代器迭代器=questionList.Iterator();
while(iterator.hasNext()){
字符串q_id=iterator.next().getSk_question_id();
System.out.println(“问题ID:+q_ID”);
optionList.addAll(adao.displayOptions(eBean,q_id));
}
model.addObject(“optionList”,optionList);
试试这个:
List<EmployeeBean>questionList=adao.displayQuestions(eBean,functional_id);
model.addObject("questionList", questionList);
List<EmployeeBean>optionList = new ArrayList<>();
Iterator<EmployeeBean> iterator = questionList.iterator();
while (iterator.hasNext()) {
String q_id =iterator.next().getSk_question_id();
System.out.println("QUESTION ID :"+q_id);
optionList.addAll(adao.displayOptions(eBean,q_id));
}
model.addObject("optionList", optionList);
ListquestionList=adao.displayQuestions(eBean,功能id);
model.addObject(“问题列表”,问题列表);
ListoptionList=新建ArrayList();
迭代器迭代器=questionList.Iterator();
while(iterator.hasNext()){
字符串q_id=iterator.next().getSk_question_id();
System.out.println(“问题ID:+q_ID”);
optionList.addAll(adao.displayOptions(eBean,q_id));
}
model.addObject(“optionList”,optionList);
一种可能的方式(如果一个q\u id
没有相关数据列表,则可能显示不正确):
ListquestionList=adao.displayQuestions(eBean,功能id);
model.addObject(“问题列表”,问题列表);
List resultList=new ArrayList();
迭代器迭代器=questionList.Iterator();
while(iterator.hasNext()){
字符串q_id=iterator.next().getSk_question_id();
System.out.println(“问题ID:+q_ID”);
add(adao.displayOptions(eBean,q_id));//按索引存储
}
addObject(“选项列表”,结果列表);
JSP代码:
<c:forEach var="EmployeeBean" items="${questionList}" varStatus="status">
${EmployeeBean.question_name }
<c:forEach var="EmployeeBean" items="${optionList.get(status.index)}"><!-- get the related data list -->
<div class="col-xs-4 starategy-data">
<div class="strategy-head">${EmployeeBean.answer_type }</div>
<p>${EmployeeBean.answer }</p>
</div>
</c:forEach>
</c:forEach>
<c:forEach var="EmployeeBean" items="${questionList}" varStatus="status">
${EmployeeBean.question_name }
<c:forEach var="EmployeeBean" items="${optionList_status.index}"><!-- not sure if it can work correct here -->
<div class="col-xs-4 starategy-data">
<div class="strategy-head">${EmployeeBean.answer_type }</div>
<p>${EmployeeBean.answer }</p>
</div>
</c:forEach>
</c:forEach>
${EmployeeBean.question_name}
${EmployeeBean.answer\u type}
${EmployeeBean.answer}
另一种方法(我没有尝试,你可以测试) Java代码:
List<EmployeeBean>questionList=adao.displayQuestions(eBean,functional_id);
model.addObject("questionList", questionList);
int index = 0;
while (iterator.hasNext()) {
String q_id = iterator.next().getSk_question_id();
System.out.println("QUESTION ID :"+q_id);
model.addObject("optionList_"+index,adao.displayOptions(eBean,q_id));
index++;
}
ListquestionList=adao.displayQuestions(eBean,功能id);
model.addObject(“问题列表”,问题列表);
int指数=0;
while(iterator.hasNext()){
字符串q_id=iterator.next().getSk_question_id();
System.out.println(“问题ID:+q_ID”);
model.addObject(“optionList_u”+索引,adao.displayOptions(eBean,q_id));
索引++;
}
JSP代码:
<c:forEach var="EmployeeBean" items="${questionList}" varStatus="status">
${EmployeeBean.question_name }
<c:forEach var="EmployeeBean" items="${optionList.get(status.index)}"><!-- get the related data list -->
<div class="col-xs-4 starategy-data">
<div class="strategy-head">${EmployeeBean.answer_type }</div>
<p>${EmployeeBean.answer }</p>
</div>
</c:forEach>
</c:forEach>
<c:forEach var="EmployeeBean" items="${questionList}" varStatus="status">
${EmployeeBean.question_name }
<c:forEach var="EmployeeBean" items="${optionList_status.index}"><!-- not sure if it can work correct here -->
<div class="col-xs-4 starategy-data">
<div class="strategy-head">${EmployeeBean.answer_type }</div>
<p>${EmployeeBean.answer }</p>
</div>
</c:forEach>
</c:forEach>
${EmployeeBean.question_name}
${EmployeeBean.answer\u type}
${EmployeeBean.answer}
一种可能的方式(如果一个q\u id
没有相关数据列表,则可能显示不正确):
ListquestionList=adao.displayQuestions(eBean,功能id);
model.addObject(“问题列表”,问题列表);
List resultList=new ArrayList();
迭代器迭代器=questionList.Iterator();
while(iterator.hasNext()){
字符串q_id=iterator.next().getSk_question_id();
System.out.println(“问题ID:+q_ID”);
add(adao.displayOptions(eBean,q_id));//按索引存储
}
addObject(“选项列表”,结果列表);
JSP代码:
<c:forEach var="EmployeeBean" items="${questionList}" varStatus="status">
${EmployeeBean.question_name }
<c:forEach var="EmployeeBean" items="${optionList.get(status.index)}"><!-- get the related data list -->
<div class="col-xs-4 starategy-data">
<div class="strategy-head">${EmployeeBean.answer_type }</div>
<p>${EmployeeBean.answer }</p>
</div>
</c:forEach>
</c:forEach>
<c:forEach var="EmployeeBean" items="${questionList}" varStatus="status">
${EmployeeBean.question_name }
<c:forEach var="EmployeeBean" items="${optionList_status.index}"><!-- not sure if it can work correct here -->
<div class="col-xs-4 starategy-data">
<div class="strategy-head">${EmployeeBean.answer_type }</div>
<p>${EmployeeBean.answer }</p>
</div>
</c:forEach>
</c:forEach>
${EmployeeBean.question_name}
${EmployeeBean.answer\u type}
${EmployeeBean.answer}
另一种方法(我没有尝试,你可以测试) Java代码:
List<EmployeeBean>questionList=adao.displayQuestions(eBean,functional_id);
model.addObject("questionList", questionList);
int index = 0;
while (iterator.hasNext()) {
String q_id = iterator.next().getSk_question_id();
System.out.println("QUESTION ID :"+q_id);
model.addObject("optionList_"+index,adao.displayOptions(eBean,q_id));
index++;
}
ListquestionList=adao.displayQuestions(eBean,功能id);
model.addObject(“问题列表”,问题列表);
int指数=0;
while(iterator.hasNext()){
字符串q_id=iterator.next().getSk_question_id();
System.out.println(“问题ID:+q_ID”);
model.addObject(“optionList_u”+索引,adao.displayOptions(eBean,q_id));
索引++;
}
JSP代码:
<c:forEach var="EmployeeBean" items="${questionList}" varStatus="status">
${EmployeeBean.question_name }
<c:forEach var="EmployeeBean" items="${optionList.get(status.index)}"><!-- get the related data list -->
<div class="col-xs-4 starategy-data">
<div class="strategy-head">${EmployeeBean.answer_type }</div>
<p>${EmployeeBean.answer }</p>
</div>
</c:forEach>
</c:forEach>
<c:forEach var="EmployeeBean" items="${questionList}" varStatus="status">
${EmployeeBean.question_name }
<c:forEach var="EmployeeBean" items="${optionList_status.index}"><!-- not sure if it can work correct here -->
<div class="col-xs-4 starategy-data">
<div class="strategy-head">${EmployeeBean.answer_type }</div>
<p>${EmployeeBean.answer }</p>
</div>
</c:forEach>
</c:forEach>
${EmployeeBean.question_name}
${EmployeeBean.answer\u type}
${EmployeeBean.answer}
那么您的问题是什么?我无法获取optionList值。仅获取列表的最后一个值在while循环的每次迭代中,您都要重新设置optionList属性。这意味着你正在替换它。。这是一个错误。如何克服这个问题。我是新来的。请帮我解答一下你的问题是什么?我无法获取optionList值。仅获取列表的最后一个值在while循环的每次迭代中,您都要重新设置optionList属性。这意味着你正在替换它。。这是一个错误。如何克服这个问题。我是新来的。请帮助我,谢谢你的回答,现在只获得optionList的第一个值!对于每个q_id,相同的值都在重复。顺便说一句,请避免使用u,而是使用驼峰大小写规则(q_id-->qId)。感谢您的回答谢谢您的回答,现在只获取optionList的第一个值!对于每个q_id,相同的值都在重复。顺便说一句,避免使用uu,而是使用驼峰大小写规则(q_id-->qId)。感谢您的回答尝试了这个,得到了这个异常:javax.servlet.jsp.jsptageException:不知道如何在forEach@Manju对于第一个答案,我不确定其中一个q_id
是否没有数据列表,然后,如果它运行良好(它将添加一个空列表)。你需要测试你自己。是的,我是