gpt4 book ai didi

java - JSTL If 条件在 JSP 页面中不起作用

转载 作者:行者123 更新时间:2023-12-01 10:04:11 25 4
gpt4 key购买 nike

我基本上试图将数组列表发送到 JSP 页面,页面中的 if 条件确定在下拉列表中设置为“选定”的值。

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>

还定义以 s 开头的 status 字段,而不是 S

关于java - JSTL If 条件在 JSP 页面中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36578275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com