0과 n - 1 사이에 정렬 된 m 개의 숫자 목록을 반환해야하는 다음 코드가 있습니다. 목록이 수정되었지만 JSP가 아무것도 인쇄하지 않는다는 것을 확인했습니다. 아무도 이것으로 나를 도울 수 있습니까? 이것이 저의 액션 클래스에있는 메소드입니다.JSTL 값이 인쇄되지 않습니다.
public static SortedSet<Integer> createCombo(int items, int maxNum) {
if (items > maxNum) {
System.out
.println("Cannot create a combination longer than the highest possible number.");
return null;
}
for (int i = 1; i <= items; i++) {
int newNum = 0;
boolean distinctNumber = false;
while (! distinctNumber) {
newNum = (int) Math.floor(Math.random() * maxNum);
distinctNumber = true;
if (i > 1) {
Iterator<Integer> iterator = combo.iterator();
while ((iterator.hasNext()) && (distinctNumber)) {
if (newNum == iterator.next()) {
distinctNumber = false;
}
}
}
}
combo.add(newNum);
}
printCombo();
return combo;
}
이것은 내 컨트롤러 클래스의 메서드입니다.
public String execute() {
SortedSet<Integer> combo = new TreeSet<Integer>();
try {
if ((items == 0) || (maxNum == 0)) {
return "failure";
}
combo = Combo.createCombo(items, maxNum);
if (combo != null) {
HttpSession session = (HttpSession) request.getSession();
session.setAttribute("combo", combo);
}
return "success";
} catch (Exception e) {
}
return "failure";
}
이것은 내 JSP입니다. 내 브라우저에는 h1 태그 사이의 텍스트 만 나타납니다.
<%@ page import="java.io.*"%>
<%@ page import="java.util.List"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>Lotto Results</title>
</head>
<body>
<center>
<h1>Lotto Results</h1>
</center>
<s:iterator value="combo">
<c:forEach var="iterator" items="${combo.iterator}" >
${iterator.next}
</c:forEach>
</s:iterator>
</body>
</html>
브라우저에서 오른쪽 클릭하고 * 소스보기 *. JSP로 생성 된 HTML 출력에서 무엇을 볼 수 있습니까? 모든 JSP 태그가 파싱 되었습니까? – BalusC
아니요, 아무도 파싱되지 않습니다. –
* Struts 태그를 포함한 이들 중 아무 것도 *? JSTL 구현을 전개하고 있습니까? EL 평가를 위해 web.xml이 2.5 이상으로 설정되어 있습니까? 또한 정확히 무엇을하고 있습니까? 왜리스트를 하나의리스트에 넣고, 왜 하나의리스트를 반복하기 위해 두 개의 iterator 태그를 가지고 있습니까? –