Click to See Complete Forum and Search --> : Question about JSP equivalent to PHP echo


jeremybwilson
08-03-2009, 12:24 PM
Can anyone help me to convert the following PHP example into JSP? I know that I need to use out.print("something") but I'm unclear how I can incorporate my variable names prior to the variable values themselves.

Here is the PHP code:

$result = "OK";
$update = "1";
$updateid = "90094";

echo "result=".$result."\n";
echo "update=".$update."\n";
echo "updateid=".$updateid."\n";


Here is my JSP conversion so far. I am not clear on how I mimic the variable name prior to the variable value itself.


<c:set var="result">OK</c:set>
<c:set var="update">0</c:set>
<c:set var="updateid">NULL</c:set>

<%
// Respond to the application with 1) result, 2) update, and 3) updateid values
String result = "OK";
String update= "0";
String updateid= "NULL";

out.print("result=" + result);
out.print("update=" + update);
out.print("updateid=" + updateid);
%>

<p>You have the current version, version <c:out value="${versionmaj}"/>.<c:out value="${versionmin}"/>.<c:out value="${versionbld}"/> </p>


Another question would be, given that I've already used EL to declare the variables above, it seems like I am creating more work than is necessary. Would it be possible and how then would I replicate the PHP echo using <c:out value="${somevalue}"/>

Would this work for that:
<c:out value="somevalue=" + ${somevalue} />

JavaServlet
08-08-2009, 11:15 PM
Good try and I hope you find JSP/Servlets more useful compared to the PHP world.

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

<c:set var="result" value="OK" />
<c:set var="update" value="0" />
<c:set var="updateid" value="NULL" />
<c:set var="versionmaj" value="1" />
<c:set var="versionmin" value="2" />
<c:set var="versionbld" value="3" />

Consider using JSTL only instead of scriptlets.
<%
// Respond to the application with 1) result, 2) update, and 3) updateid values
String result = "OK";
String update= "0";
String updateid= "NULL";

out.print("<br>result=" + result);
out.print("<br>update=" + update);
out.print("<br>updateid=" + updateid);
%>

<p>You have the current version, version <c:out value="${versionmaj}"/>.<c:out value="${versionmin}"/>.<c:out value="${versionbld}"/> </p>

<c:out value="result=${result}" /><br>
<c:out value="update=${update}" /><br>
<c:out value="updateid=${updateid}" />

jeremybwilson
08-09-2009, 11:50 PM
Good try and I hope you find JSP/Servlets more useful compared to the PHP world.

Consider using JSTL only instead of scriptlets.
<%
// Respond to the application with 1) result, 2) update, and 3) updateid values
String result = "OK";
String update= "0";
String updateid= "NULL";

out.print("<br>result=" + result);
out.print("<br>update=" + update);
out.print("<br>updateid=" + updateid);
%>


Would you be willing to give me a example of how I would write out those string values so they output to the page as follows:

result=OK
update=0
updateid=NULL

jeremybwilson
08-17-2009, 01:27 PM
What I meant to say was can you give me an example of how to write out those values using JSTL EL? I could just declare variables that include the entire length of the string and just write them out using <c:out> but I would rather like to append the variables to their associated 'result=', 'update=', and 'updateid=' descriptors.

Basically, converting this to JSTL. How would I do that?

out.print("<br>result=" + result);
out.print("<br>update=" + update);
out.print("<br>updateid=" + updateid);

Thanks again.

JavaServlet
08-19-2009, 08:47 PM
The below is an example that might help:


<c:set var="resultEqual" value="result=" />
<c:set var="result" value="OK" />
<c:set var="updateEqual" value="update=" />
<c:set var="update" value="0" />
<c:set var="updateidEqual" value="updateid=" />
<c:set var="updateid" value="NULL" />


jstl with html encoding similiar to the php htmlspecialchars:<br>
<c:out value="${resultEqual}${result}" /><br>
<c:out value="${updateEqual}${update}" /><br>
<c:out value="${updateidEqual}${updateid}" /><br>

without html encoding:<br>
${resultEqual}${result}<br>
${updateEqual}${update}<br>
${updateidEqual}${updateid}

jstl looks alot better than outdated scriptlets.

jeremybwilson
08-25-2009, 11:08 AM
Great. Thank you very much.