Mostrar propiedad Java en JSP
Pregunta
Tengo una clase con una propiedad llamada Título y tengo un Getter/Setter que obtiene y establece la propiedad. Si la propiedad es PI, necesita imprimir la palabra "par" en la página, y si es necesario imprimir "equipo" en la página. ¿Puedo hacer esto en un JSP sin usar Scripllets? Intenté usar
<jsp:getProperty name="value" class"classname" />
Pero a partir de ahí no tengo idea de cómo usar un condicional en un JSP. Por favor ayuda.
Solución
Usa jstl, como @CoolBeans dice. Se vería algo así:
En el servlet,
// where myBean is an instance of the class with [get|set]Title
request.setAttribute("myFoo", myBean);
Entonces, en el JSP,
<c:choose>
<c:when test="${myBean.title eq 'P'}">Peer</c:when>
<c:when test="${myBean.title eq 'T'}">Team</c:when>
</c:choose>
Si no está familiarizado con JSTL, le recomendaría leer el Sección JSP del tutorial Java Ee 5, o recoger una copia de Primeros servlets y JSP (Esta bastante bien).
Otros consejos
Deberías usar Jstl. Aquí hay un ejemplo:
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<c:if test="${yourClass.p eq 'P'}">PEER</c:if>
Usé propiedades para establecer y obtener datos del usuario, creando un controlador de clase Java y usé un "UseBean" ... Aquí hay algún código que generé para solucionar mi problema ... espero que ayude ...
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Login and Do Action</title>
</head>
<% // java code
%>
<body>
<jsp:useBean id="myBean" scope="session" class="org.mypackage.IFPWAFCAD.NameHandler" />
<jsp:setProperty name="myBean" property="name"/>
<jsp:setProperty name="myBean" property="screenName"/>
<jsp:setProperty name="myBean" property="username"/>
<jsp:setProperty name="myBean" property="password" />
<h1>Hello <jsp:getProperty name="myBean" property="screenName" />! Ready to Login and perform Action</h1>
<form method="post" action="DBConnection">
<table border="0">
<thead>
<tr>
<th>
</th>
<th>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>Table:</td>
<td><input type="radio" name="tableName" value="product"/>Produce
<<input type="radio" name="tableName" value="customer" />Customer
<input type="radio" name="tableName" value="actor" checked="checked" />Actor</td>
</tr>
<tr>
<td>Action:</td>
<td>
<select name="action" value="0">
<option value="0">Choose a Action...</option>
<option value="create">Create</option>
<option value="read">Read</option>
<option value="update">Update</option>
<option value="delete">Delete</option>
<option value="fancy">Fancy Display</option>
<option value="pass">Pass to JSP File</option>
</select>
</td>
</tr>
<tr>
<td>Record ID:</td>
<td><input type="text" name="tid" size="3"/></td>
</tr>
<tr>
<td>
First Name:
</td>
<td>
<input type="text" name="firstname" size="30"/>
</td>
</tr>
<tr>
<td>
Last Name:
</td>
<td>
<input type="text" name="lastname" size="30"/>
</td>
</tr>
<tr>
<td>
</td>
<td>
<input type="hidden" name="name" value="<jsp:getProperty name="myBean" property="name" />" />
<input type="hidden" name="username" value="<jsp:getProperty name="myBean" property="username" />" />
<input type="hidden" name="screenName" value="<jsp:getProperty name="myBean" property="screenName" />" />
<input type="hidden" name="password" value="<jsp:getProperty name="myBean" property="password" />" />
</td>
</tr>
</tbody>
</table>
<input type="submit" value="Login" />
<input type="reset" name="clear" value="Clear" />
</form>
</body>