Solved

finding out which jsp is included in a web page

Posted on 2014-02-13
5
457 Views
Last Modified: 2014-03-13
Hi,
I have a file named additionalAddDisplay.jsp
Now this is included in two jsp
1) standard.jsp
2) secureStandard.jsp

For these two i only find reference in the tiles. xml which is as follows :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC
	"-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
	"http://tiles.apache.org/dtds/tiles-config_2_0.dtd">

<tiles-definitions>

	<definition name="standardLayout" template="/WEB-INF/layouts/standard.jsp" preparer="com.yatra.platform.commons.utils.YatraViewPreparer">
		<put-attribute  name="topBar" value="/WEB-INF/layouts/topbar.jsp" />
		<put-attribute name="title" value="Yatra Online" />
		<put-attribute name="header" value="/WEB-INF/layouts/header.jsp" />
		<put-attribute name="content" value=""/>
		<put-attribute name="seofooter" value=""/>
		<put-attribute name="footer" value="/WEB-INF/layouts/footer.jsp" />
		<put-attribute name="themeFromCMS" value="" />
	</definition>

	<definition name="promoStandardLayout" template="/WEB-INF/layouts/promoStandard.jsp" preparer="com.yatra.platform.commons.utils.YatraViewPreparer">
		<put-attribute  name="topBar" value="/WEB-INF/layouts/topbar.jsp" />
		<put-attribute name="title" value="Yatra Online" />
		<put-attribute name="header" value="/WEB-INF/layouts/header.jsp" />
		<put-attribute name="content" value=""/>
		<put-attribute name="seofooter" value=""/>
		<put-attribute name="footer" value="/WEB-INF/layouts/footer.jsp" />
	</definition>

	<definition name="secureStandardLayout" template="/WEB-INF/layouts/secureStandard.jsp" preparer="com.yatra.platform.commons.utils.YatraViewPreparer">
		<put-attribute  name="topBar" value="/WEB-INF/layouts/secureTopbar.jsp" />
		<put-attribute name="title" value="Yatra Online" />
		<put-attribute name="header" value="/WEB-INF/layouts/secureHeader.jsp" />
		<put-attribute name="content" value=""/>
		<put-attribute name="seofooter" value=""/>
		<put-attribute name="footer" value="/WEB-INF/layouts/secureFooter.jsp" />
	</definition>

	<definition name="printETicketLayout" template="/WEB-INF/layouts/standard.jsp" preparer="com.yatra.platform.commons.utils.YatraViewPreparer">
		<put-attribute  name="topBar" value=""  />
		<put-attribute name="title" value="Yatra Online" />
		<put-attribute name="header" value="" />
		<put-attribute name="content"  />
		<put-attribute name="footer" value="" />
		<put-attribute name="themeFromCMS" value="" />
	</definition>

	<definition name="errorStatusPage" extends="standardLayout">
		<put-attribute name="content" value="/WEB-INF/layouts/resourceUnAvailable404.jsp" />
	</definition>

	<definition name="error" extends="standardLayout">
		<put-attribute name="content" value="/WEB-INF/layouts/error.jsp" />
	</definition>

	<definition name="erroredSearch" extends="standardLayout">
		<put-attribute name="content" value="/WEB-INF/layouts/erroredSearch.jsp" />
	</definition>

	<definition name="waitPageLayout" template="/WEB-INF/layouts/waitpage.jsp">
		<put-attribute name="title" value="Yatra Online" />
	</definition>

	<definition name="tgWaitPageLayout" template="/WEB-INF/layouts/tgwaitpage.jsp">
		<put-attribute name="title" value="Yatra Online" />
	</definition>

</tiles-definitions>

Open in new window


Now how do i find out whether standard.jsp is included in my webpage or securestandard.jsp is included.

Also whats the use of tiles.xml

I need to add some parameters in model so that i can access it in additionalAddDisplay.jsp
I am also unable to find out which file is reponsible for this so that i could include the parameters in map and then access it in this jsp.

Any help will be appreciated

Thanks
0
Comment
Question by:Rohit Bajaj
  • 3
  • 2
5 Comments
 
LVL 35

Expert Comment

by:mccarl
ID: 39857952
The answer to your above question requires some more information. Can you please provide your spring xml configuration files? Also (if there is not too many of them) can you provide the code for your Spring Controller classes? This information should be able to tell us where this is all coming from, but at a high level... your Controller class will generally state which "view" should be rendered to the client, and this "view" will be mapped in some way (there are numerous hence why the extra info required) to a definition "name" that links to your tiles.xml file as given above. Then as you can probably see from the above, the definition refers to the layout template and any attributes to provide to that template.

So anyway from the above tiles.xml you can work out the list of "definitions" that use either standard.jsp or secureStandard.jsp...

standardLayout
secureStandardLayout
printETicketLayout
errorStatusPage            (indirectly via standardLayout)
error                               (indirectly via standardLayout)
erroredSearch               (indirectly via standardLayout)

and so we just need to work out what controller methods refer ultimately to those definition names.
0
 

Author Comment

by:Rohit Bajaj
ID: 39858314
HI,
I am attaching important controllers which i think and root-context.xml.
Please see if this can help or you need more files.

Thanks
Spring-project-files.zip
0
 
LVL 35

Accepted Solution

by:
mccarl earned 500 total points
ID: 39869549
Ok, so in most of those Controller's the actual view name that they return is hidden inside a method call, which is usually this...

resultRulesBean.getResponsePage()

If you look for that in your Controller's and find out what resultRulesBean is doing and what it will return for the .getResponsePage you should find out which layout is in use and subsequently which .jsp is used to render to the user.

My guess is that to include the additional model attirbutes need to support your changes to additionalAddDisplay.jsp might be best placed in your ModelPopulator class as it seems that that is called for most pages that you return a view. Note that there isn't a huge problem if you add the data that you need to the model and pages "other" than standard.jsp or securestandard.jsp end up rendered, the data just won't get used. So maybe the easiest way to go is to just include all the time in the model (in a class like ModelPopulator) and you just use it if additionalAddDisplay.jsp ends up being called.
0
 

Author Comment

by:Rohit Bajaj
ID: 39908885
HI mccarl,
Thanks for the above post. I will update shortly on it, if i need some more information.
Thanks
0
 

Author Closing Comment

by:Rohit Bajaj
ID: 39926030
Hi Mccarl,
Just needed some suggestions from you. I am a java developer working on springs framework web Application. I want to know what according to you are good or emerging technologies which one should learn or which will have good scope in future ?
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

An old method to applying the Singleton pattern in your Java code is to check if a static instance, defined in the same class that needs to be instantiated once and only once, is null and then create a new instance; otherwise, the pre-existing insta…
Java Flight Recorder and Java Mission Control together create a complete tool chain to continuously collect low level and detailed runtime information enabling after-the-fact incident analysis. Java Flight Recorder is a profiling and event collectio…
Viewers will learn about the different types of variables in Java and how to declare them. Decide the type of variable desired: Put the keyword corresponding to the type of variable in front of the variable name: Use the equal sign to assign a v…
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now