InkTekSol
InkTekSol

Reputation: 77

How to use Ternary Operator in JSP

I have a query with regards to using Ternary Operator in JSP. The below mentioned code uses if else statement which works fine.

<%
                if ("Y".equals(TestPerformed)) {%>
            Test Performed <input type="checkbox" id="TestPerformed<%=RowCount%>" name="TestPerformed" value="Y" checked>
            <%} else {%>
            Test Performed <input type="checkbox" id="TestPerformed<%=RowCount%>" name="TestPerformed" >
            <%}%>
            <input type="text" id="HiddenTestPerformed<%=RowCount%>" name="TestPerformed" value="<%=TestPerformed%>"/>
            <script>
                $(function () {
                    $("#TestPerformed<%=RowCount%>").change(function () {
                        $("#HiddenTestPerformed<%=RowCount%>").val(($(this).is(':checked')) ? "Y" : "N");
                    });
                });
            </script>

But When I use the Ternary Operator it gives me a compile time error stating not a statement.

Test Performed <input type="checkbox" id="TestPerformed<%=RowCount%>" name="TestPerformed" value="Y" <%"Y".equals(TestPerformed) ? "checked":"";%>>
            <input type="text" id="HiddenTestPerformed<%=RowCount%>" name="TestPerformed" value="<%=TestPerformed%>"/>
            <script>
                $(function () {
                    $("#TestPerformed<%=RowCount%>").change(function () {
                        $("#HiddenTestPerformed<%=RowCount%>").val(($(this).is(':checked')) ? "Y" : "N");
                    });
                });
            </script>

The Above code basically checks if the TestPerformed is Y or N. If its Y then the Checkbox will be checked or else it will be unchecked. The Jquery is used to change the value of the HiddenTestPerformed input to Y or N.

Kindly help me out as in How do I use this Ternary Operator to fulfill this requirement.

Thanks in Advance.

Upvotes: 5

Views: 16249

Answers (1)

Joy Biswas
Joy Biswas

Reputation: 6527

You are just missing an equals in the scriplet, also some how you need to insert in (brackets) the whole expression and you dont end with a ;

Finally <%= ( <expression> ? <then_String> : <else_String> ) %>

<input type="checkbox" id="TestPerformed<%=RowCount%>" name="TestPerformed" value="Y" <%=("Y".equals(TestPerformed) ? "checked":"")%> >

Upvotes: 6

Related Questions