title: Difference between jsp expression tags <% and <%=
body: <p>I more or less know the difference between  &lt;%! and  &lt;%, but I can't seem to find the difference between &lt;%= and &lt;%. I'm trying to avoid a null value error by introducing some logic into my expression that currently uses &lt;%= ... %>. I get an error unless I replace the tags with &lt;%...%>. However after my build I get a jsp error instead of the servlet error. I can't really paste my original code in here but the code inside &lt;%= ... %> essentially retrieves a nested array object (more like array object within another array object) passed as a servlet argument in a Struts 1 project. I just want to add a try...catch statement in case the object's property isn't instantiated yet.</p>
  
  <pre><code>&lt;%=((package.package.package.ClassName)session.getAttribute("attrName")).getObjectList()[0].getSecondObject.length%&gt;; 
  </code></pre>
  
  <p>Is this a jsp issue, or is it a Struts 1 issue? And again, what is the difference between the 2 tags? </p>