私は、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の実装を展開していますか?あなたのweb.xmlはEL評価のために2.5+に設定されていますか?また、正確に何をしているのですか?なぜリストをセットに入れているのですか?また、1つのリストを反復するために2つのイテレータータグがあるのはなぜですか? –