簡體   English   中英

JSTL如果條件在JSP頁面中不起作用

[英]JSTL If condition not working in JSP Page

我基本上是想將一個數組列表發送到JSP頁面,並且頁面中的if條件確定在下拉列表中將哪個值設置為“ selected”。

Servlet:

public class FeatureServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        ArrayList<FeaturePermission> permList = new ArrayList<FeaturePermission>();

        FeaturePermission perm = new FeaturePermission();
        perm.setStatus("2");
        permList.add(perm);

        request.setAttribute("perms", permList); 
        RequestDispatcher rd = getServletContext().getRequestDispatcher("/CheckData.jsp");  
        rd.forward(request, response);

    }
}

CheckData.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page import="java.util.*" %>
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Test Page</title>
    </head>
    <body>
         <select id="check_status" name="check_status">
                <optgroup label="Choose Status">
                    <option value="1" <c:if test="${perms[0].status == 1}"> <c:out value="selected=selected"></c:out></c:if>>1</option>
                    <option value="2" <c:if test="${perms[0].status == 2}"> <c:out value="selected=selected"></c:out></c:if>>2</option>
                </optgroup>
        </select>
    </body>
</html>

FeaturePermission類:

String ID = "";
String Status = "";

//Getter Setter & Constructors

我基本上需要檢查參數'Status'中的值是否等於1,然后將所選選項設置為1,依此類推,對於下拉列表中的所有選擇。

但是,當我運行它時,未選擇正確的值。 我的代碼正確嗎?

對於表達式語言中的字符串比較, ==eq相同。 但您必須在'標記內添加' '1''2' 喜歡:

<option value="1" <c:if test="${perms[0].status == '1'}"> <c:out value="selected=selected"></c:out></c:if>>1</option>
<option value="2" <c:if test="${perms[0].status == '2'}"> <c:out value="selected=selected"></c:out></c:if>>2</option>

還定義status字段,以s代替S

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM