Ich versuche grundsätzlich, eine Arraylist an eine JSP-Seite zu senden, und eine if-Bedingung auf der Seite bestimmt, welcher Wert in einem Dropdown-Menü als 'ausgewählt' gesetzt werden soll.JSTL Wenn Bedingung in JSP nicht funktioniert Seite
Servlets:
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 Klasse:
String ID = "";
String Status = "";
//Getter Setter & Constructors
ich im Grunde ne Um zu überprüfen, ob der Wert im Parameter 'Status' gleich 1 ist, setzen Sie die ausgewählte Option für alle Optionen im Dropdown-Menü auf 1 usw.
Allerdings, wenn ich es ausführe, ist der richtige Wert nicht ausgewählt. Ist mein Code korrekt?
Nein, jetzt wurde es ein leerer Wert. Es gibt nichts in der Auswahl-Tag, wenn ich es ausführen @josivan – Dinuka
Können Sie erklären, wie das bitte funktioniert? Warum gibt es kein "Wenn" in diesem Code, das du mir gegeben hast? @josivan – Dinuka