[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 221
  • Last Modified:

JSP Forward Problem


I think I'm using the proper syntax on a <jsp:forward>.  But its giving me an error.

How do I fix this?
<% if(myVariable.equals("X")){ %>
          <jsp:forward page="<c:out value="${form.forward}" />            " />
<%} %>

ERROR

500 Servlet Exception

javax.servlet.jsp.JspException: ServletException in '/jsp/myJSP.jsp':
ServletException in '/jsp/classroom/classLayout.jsp': ServletException
in '/jsp/classroom/content.jsp': /jsp/myJSP.jsp':106: expected
`>' at ``$'' (for tag `<jsp:forward>' at line 106).  The XML tag syntax
is: <tag attr1='value1'>
      at org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:921)
      at org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:460)
      at _jsp._jsp._layout._layout__jsp._jspService(jsp/layout/layout.jsp:25)
      at com.caucho.jsp.JavaPage.service(JavaPage.java:60)
      at com.caucho.jsp.Page.pageservice(Page.java:570)
      at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:179)
      at com.caucho.server.webapp.DispatchFilterChain.doFilter(DispatchFilterChain.java:115)
      at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229)


0
tmonteit
Asked:
tmonteit
  • 5
  • 4
  • 3
  • +1
1 Solution
 
Peter KwanCommented:
I think you cannot put a JSTL tag inside jsp:forward tag. You can do the following:

<jsp:forward page="<%= ((MyForm)request.getAttribute("form")).getForward() %>"/>
0
 
Weiping DuSenior Web DeveloperCommented:
Does  <jsp:forward page="${form.forward}"/>   work for you?
0
 
jaggernatCommented:
try

<c:if test="${param.myVariable == "X" }">
<c:redirect url="<c:out value="${form.forward}" />" />
</c:if>

 
0
The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

 
tmonteitAuthor Commented:
Jaggernat,

your solution puts a line that says "url has moved here".  where here is a link to the page I need?

Any way to make it automatically go to that page?
0
 
jaggernatCommented:
hmm, intresting.

what is the value of     "<c:out value="${form.forward}" />"


redirect normally will forward to the url value.


you can try this too


<c:if test="${param.myVariable == "X" }">
<jsp:forward page="<c:out value="${form.forward}" /> " />
</c:if>
0
 
jaggernatCommented:
the value of    <c:out value="${form.forward}" />  must be a .jsp

0
 
tmonteitAuthor Commented:
Its an html, file will it work with an html?
0
 
tmonteitAuthor Commented:
oops, I mean how can it work with an html file.  Obviously its not working.
0
 
Weiping DuSenior Web DeveloperCommented:
if 'form' is a bean instance, just call it like:

<% if(myVariable.equals("X")){ %>
     <jsp:forward page="<%=form.getForward()%>" />
<%} %>
0
 
jaggernatCommented:
>>Its an html, file will it work with an html?
It should.

redirect should follow this sytax    <c:redirect url="abc.html"/>  


0
 
Weiping DuSenior Web DeveloperCommented:
<c:redirect url="${form.forward}" />  should be good enough.   No need to put c:out inside it
0
 
jaggernatCommented:
oops, good catch owen   :-)
0
 
Weiping DuSenior Web DeveloperCommented:
Thanks. I test it in my WSAD.
Actaully, both <jsp:forward page="<%=form.getForward()%>" />  and  <c:redirect url="${form.forward}" />  work OK.
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 5
  • 4
  • 3
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now