| Author |
Struts: includeactive in jsp
|
navi kumar
Ranch Hand
Joined: May 10, 2006
Posts: 47
|
|
Hi all, I am encountering "CODE TOO LARGE" problem when my jsp is compiled. From suggestions, i tried splitting the jsp and do an include. Something like: <%@ include file="/jsp/page_II.jsp"%> But it was of no use. Later, i am trying to do an includeactive. that is dynamic including instead of static. <jsp:include page="="/jsp/page_II.jsp" /> But, now my question is what should I have in page_II.jsp. I will make it in such a way that it runs on it own. Like I will include all taglibs,etc as i did in parent jsp(Page.jsp) How is it compiled as a different servlet? Is that o.k, if i just have that include statement. Or do I need to specify this in struts-config(deployment descriptor). These suggestions.. I got from: http://faq.javaranch.com/view?IncludesActionDirective Regards
|
 |
Merrill Higginson
Ranch Hand
Joined: Feb 15, 2005
Posts: 4864
|
|
The way you're doing it should work. There is no need to declare the second JSP to Struts in any way. The way it works is this: The two JSP files are compiled into two different classes. Let's call them JSP1_java and JSP2_java. The job of these servlet classes is to return an HTML text stream to the browser. When JSP1_java is called, it starts building this text stream and then calls JSP2_java to add to the text stream. Control is returned to JSP1_java and it sends the final text stream to the browser.
|
Merrill
Consultant, Sima Solutions
|
 |
navi kumar
Ranch Hand
Joined: May 10, 2006
Posts: 47
|
|
Hi Merrill, thanks for the reply. This is the actual error I was getting: ".war/filename.java:8929: code too large for try statement } catch (Throwable __ee) { ^ and code too large public void _jspService(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException As i said, I tried doing include:file ....static include which pastes the content of jsp2 into jsp1 and then compiles to generate a single servlet. Could you please elaborate on using includeactive. I mean to ask how to write the jsp2?. A small example would be of great help(if only you have time) else just some explanation will do. Thanks again. Regards
|
 |
navi kumar
Ranch Hand
Joined: May 10, 2006
Posts: 47
|
|
Merrill, I have tried using includeactive..butUnfortunately, I can't use that as the JSP is almost entirely one <html:form>. Many of the <html:*> tags won't work if they are on a separate page from the <html:form> tag. Please Help by letting me know, how to do the <jsp:include> Regards
|
 |
Merrill Higginson
Ranch Hand
Joined: Feb 15, 2005
Posts: 4864
|
|
Hmmm.... that is a problem. If you have a large portion of the page that is output only, you might put that part in a second JSP. If not, you might try putting an <html:form> tag in the second JSP with the same action that you have in the first JSP. It's possible that since HTML does not allow <form> tags to be nested, the browser may simply ignore the second nested <form> tag that is rendered by Struts. Give that a try and let me know if it works.
|
 |
navi kumar
Ranch Hand
Joined: May 10, 2006
Posts: 47
|
|
merrill, I have a <%@ include file="/jsp/includes/fppm_leftnav.jsp"%> which includes left navigation bar on my jsp screen. Do I need to have this on jsp2 too. I am confused, if I am supposed to have this or not??
|
 |
Merrill Higginson
Ranch Hand
Joined: Feb 15, 2005
Posts: 4864
|
|
It's important to understand that using the <%@ include %> does nothing to reduce the size of your JSP compilation unit. This brings in the text from your navigation bar file before compiling it. I'd suggest making this a <jsp:include>. By doing so, you make the code in the navigation bar part of its own class file and not part of the main JSP class file which is too large. [ August 25, 2006: Message edited by: Merrill Higginson ]
|
 |
navi kumar
Ranch Hand
Joined: May 10, 2006
Posts: 47
|
|
yes Merrill. Actually I changed that <jsp:include>. Sorry for wrong post. My question was, Do I need to have this <jsp:include page =leftnav.jsp/> which correspond to left navigation bar on the UI screen on JSP2? WE have that included dynamically in JSP1. Regards
|
 |
navi kumar
Ranch Hand
Joined: May 10, 2006
Posts: 47
|
|
Hi Merrill, I tried that. Yet getting an error. Actually, I have this in my JSP. <%Wjscreen_JSPUtils.generateHeader(out, "FPPM", "FORMBEAN"); %> <% Wjscreen_JSPUtils.generateFooter(out); %> The error says cannot resolve these symbols when I had <jsp:include>. Help!!! Regards
|
 |
navi kumar
Ranch Hand
Joined: May 10, 2006
Posts: 47
|
|
|
those two correspond to Header and Footer of every screen in the application. It is mandate to have them on the screen
|
 |
Merrill Higginson
Ranch Hand
Joined: Feb 15, 2005
Posts: 4864
|
|
|
JSP2 should be a JSP fragment. So that means it should have no header, no footer, and no navigation bar. It should be a portion of the main page. That portion will be added to the main JSP at the point where you put the <jsp:include> tag.
|
 |
navi kumar
Ranch Hand
Joined: May 10, 2006
Posts: 47
|
|
Hi Merrill, It is fine now. I can see the headers and footers as they are included in jsp now. The problem now is: I have an update button on my screen, which when clicked should update the table with changed values and further display the same screen with the updated values. But , it is giving an error( Error in the sense, it is not displaying anything on the Console) Just saying...THERE IS PROBLEM WITH YOUR REQUEST> PLEASE TRY AGAIN....this is general jsp message we get in your application when the action does not return anything... i guess the same is happening here. ...Dont Understand why? Any help??? please
|
 |
navi kumar
Ranch Hand
Joined: May 10, 2006
Posts: 47
|
|
|
actually the UPDATE action is part of jsp2
|
 |
navi kumar
Ranch Hand
Joined: May 10, 2006
Posts: 47
|
|
Merrill, ths second JSP2 is being added to the JSP. But, when i want to submit the form, that is click the existing "update" button present in the second jsp2. It performs no action. and displays nothing on console. I tried specifying the mapping of this second jsp2 in struts.configfile. When I do so and click update button, the action should update the values in table and show the entire jsp with updated values. But, it shows only second jsp. Please help
|
 |
Merrill Higginson
Ranch Hand
Joined: Feb 15, 2005
Posts: 4864
|
|
|
I'd suggest you change your strategy and keep the update button in JSP1. Don't register JSP2 with struts.
|
 |
navi kumar
Ranch Hand
Joined: May 10, 2006
Posts: 47
|
|
Thanks for your replies Merrill. I got it working now
|
 |
 |
|
|
subject: Struts: includeactive in jsp
|
|
|