0

some.jsp には、次のコードがあります。

<%
            ArrayList<Team> teams = Lists_DEO.getAllTeams();
            for (int i = 0; i < teams.size(); i++){
                Team curr = teams.get(i);
                %>
                    <div class="team-item-box <% if (i%2 == 1) out.print("second");%>"> 
                        <a href="/FUF_League/UserGetTeam?teamID=<%=curr.getID()%>" class="left"><img src="<%= curr.getImageURL() %>" alt=""></a>
                        <a href="/FUF_League/UserGetTeam?teamID=<%=curr.getID()%>" class="watch-now"><%= curr.getName()%></a> 
                    </div>
                <%
            }
        %>

そして、それはその仕事をします...(私は out.print でチェックしましたが、すべてのチームIDには一意の値があります);

UserGetTeam (サーブレット) には、次のコードがあります。

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    System.out.print(request.getAttribute("teamID"));
    RequestDispatcher dispatch = request.getRequestDispatcher("/UserPages/UserGetTeam.jsp");
    dispatch.forward(request, response);
}

そしてそれは「ヌル」を出力します...

どうしたの?私は github に取り組んでいます。このプロジェクトでは、このコードは数時間前に機能していましたが、現在は機能しておらず、誰もこの特定のサーブレットまたは JSP を変更/コミットしていません...

4

1 に答える 1

2

URL で渡すのはパラメーターであり、属性ではありません。パラメータと属性が異なります

使用する必要があります

request.getParameter("teamID");

違いは

  1. request.getAttribute()オブジェクトをrequest.getParameter()返し、文字列を返します
  2. 通常、パラメーターはクライアントから送信されます。つまり、jsp と属性はサーバー側で設定および使用されます。たとえば、セッションで属性を設定して使用します。
于 2013-06-12T00:13:08.793 に答える