プログラムで作業していて、別のクラスから静的整数を出力しようとしています。奇妙なことに、スクリプトレットでは実行できますが、JSTLでは実行できません。先ほど書いたエラーチェックコードをチェックしてください。
Comments: <%=Comments.getCommentCount() %> <br />
Comments: ${Comments.getCommentCount()} <br />
Comments: <c:out value="${Comments.getCommentCount()}" /> <br />
Comments: <c:out value="1" />
これにより、次のHTML出力が得られます。
Comments: 5 <br />
Comments: <br />
Comments: <br />
Comments: 1
ご覧のとおり、コードの最初と最後の行だけが機能します。スクリプトレットなしでこの静的変数を出力するにはどうすればよいですか?
そして私のヘッダーには
import="org.test.Comments"
Comments.java
package org.test;
import java.util.ArrayList;
import java.util.Collections;
public class Comments
{
private String name = "";
private String comment = "";
private static ArrayList<String> allComments = new ArrayList<String>();
public void setNewComment(String name, String comment)
{
this.name = name;
this.comment = comment;
allComments.add(getComment());
}
public static ArrayList<String> getCommentList()
{
Collections.reverse(allComments);
return allComments;
}
public static int getCommentCount()
{
return allComments.size();
}
public String getComment()
{
return String.format("Name: %s <br />Comment: %s <p><hr /></p>", name, comment);
}
}