Question

I have a class with a property called title and I have a getter/setter that gets and sets the property. If the property is P I need to print the word "Peer" on the page, and if it's T I need to print "Team" on the page. Can I do this in a JSP without using a scriplets? I tried using

<jsp:getProperty name="value" class"classname"  />

but from there I have no idea how to use a conditional in a JSP. Please help.

Was it helpful?

Solution

Use JSTL, as @CoolBeans says. It would look something like this:

In the servlet,

// where myBean is an instance of the class with [get|set]Title
request.setAttribute("myFoo", myBean);

Then, in the 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>

If you're not familiar with JSTL, I'd recommend reading through the JSP section of the Java EE 5 Tutorial, or picking up a copy of Head First Servlets and JSP (it's quite good).

OTHER TIPS

You should use JSTL. Here is an example:

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>


  <c:if test="${yourClass.p eq 'P'}">PEER</c:if>

I used properties to set and get data from the user, by creating a java class handler and use a "useBean"... Here is some code I generated to fix my problem... hope it helps..

<!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>

enter image description here

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top