Dynamically load source in div on jsp page - java

I am using struts 1.3 framework.
I have come across a scenario that, I have set of Struts Action URLs on JSP page.
I want to load source for all of these URLs dynamically without refreshing jsp page, and each into a separate DIV.
Any pointer will be of great use.

JQuery and AJAX is your answer!
http://jquery.com/
(JQuery has AJAX built in FWIW)

Related

Java EE Clarification on Workflow for JSP and Servlets

I am attempting to learn Java EE. After struggling through trying to understand the Java stack, it appears that that a basic dynamic web application can be accomplished by focusing on JSP and Servlets so I want to start there.
In Net Beans I have a basic project set up with a tomcat server and when I hit run I can get the web page to generate and display the default index.jsp page. I have added a css file to the project and this jsp page looks like any standard html page now. I then create a new servlet. I was also able to create a link in the index.jsp page so when I click on it, it calls the servlet.
What I don't understand is why when I create the servlet in Net Beans, the processRequest method comes pre-populated with several html print statements. I could easily make this page look like the jsp page I started with, making me wonder why I even need a JSP page. It appears the entire application could be comprised of servlets.
Could someone please explain the proper interaction between the two? It appears the index page can contain links that call various servlets, perhaps to access a database of comments, then do I create the response table in the servlet, or would I pass that information to another JSP page?
Understanding these basic workflows would really help. Thanks
JSP also a kind of a servlet . Right after you run the jsp , go to your netbeans project directory and right click the jsp and select view Servlet then you get the servlet representation of your jsp file. Actually jsp file is there to perform front end design easily. Without jsp It is really difficult task to perform front-end developing stuff inside servlet.
And you should keep in mind there is no such a thing called proccessRequest in javaEE . It is automatically generated by Netbeans once you create a new servlet. So just stick to basics. Erase all the auto-generated stuff from the class which has extended HttpServlet. And then you can override the required HTTP method/methods. (doGet , doPost etc..) You should take a look at this for more infromation ...
And this page will also improve your knowledge on javaEE

Does Spring MVC 3.x support partial views (html/jsp) like that of ASP.NET MVC3/4?

Q1: Does Spring or any opensource java UI framework support partial views like that in asp.net mvc?
For example in my main index.html (or _layout.cshtm per asp.net mvc3 spec)
I would have the folllowing code:
<span id="logindisplay">#Html.Partial("_LogOnPartial")</span>
where #Html is a helper to display a partial view for _LogonPartial.cshtml which just injected it's html view contents into the page?
Q2: If this is supposed If I want to display a bunch of partial views it would be helpful to display them concurrently in parallel to improve performance. Very similar to what linkedin is doing using dust and fizzy? http://engineering.linkedin.com/profile/engineering-new-linkedin-profile
Q3: Is fizzy available as open source like that of dust?
If you want to include content of a page into another page, by adding some code on the page itself, you should compare asp with jsp, not ASP.NET MVC* with JEE - Spring MVC
So, an equivalent to <span id="logindisplay">#Html.Partial("_LogOnPartial")</span> on a jsp would be one / all of the following
On your jsp, include content from another jsp using <%# include file="../includes/inner-content.jsp" %>. This is what is called a static include. The source of the included jsp is included and made part of the parent jsp, before the jsp is compiled. If you use an IDE, it will check to ensure the included jsp does infact exist at the path specified, relative to the location of the jsp in which you are adding the include. Technically this is a JSP Directive. The jsp being included could just be a fragment, and not addressable from the outside world (could be hidden inside WEB-INF)
You can also use what's called a Dynamic include <jsp:include page="someJSP.jsp" />. In this case, the included JSP should be addressable from the browser and should be capable of being rendered independently. When the server is executing the servlet to render the parent JSP, it stops when this tag is seen, and starts executing the servlet for the included jsp, the output obtained from the inner jsp execution is then merged to the output of the parent jsp, and processing of the parent jsp is resumed.
A third option would be to use Core JSTL taglib's <c:import url=""/>. This works just like option 2 above, except it also allows you to import a page / content from a url that lives outside your application. Basically you can mention a path to a jsp, or relative URI to a servlet mapping in your application, or a URL to an external page.
Now, I suspect this is not really what you want to do, if you are comparing with what Linkedin is doing. You want to mashup content from sources in your own application, and compose your page. You also want to do this in an asynch manner so as to keep load times in check. In this case, you HAVE to use JavaScript and Ajax. All the mechanisms described above are for server rendered pages (All HTML is created before the page is rendered in the browser). Just like #HTML. You need to create a simple framework / use an existing one, where once a page loads, it fires asynch ajax calls to the server to get content for specific areas on the page and renders the returned HTML in those specific areas.
Hope this helps.
Do let me know if I've misunderstood your question.

Regular HTML pages on Struts 2 Spring Framework

I personally do not have much experience working in jsp and struts2 tomcat server but I have a small task that I have to deal with a server in production. I looked at info on the internet for two nights but seems like i can't get the answer.
What I want to do is to open some static simple html pages pop-up from the jsp pages that already exist. Those jsp pages are currently located at /webapps/WEB-INF/tld/mainPage/indexMainPage.jsp
what I did was:
make some javascript functions so that when they click a button, i open a pop-up
function btn_openPopUp()
{
window.open("../popUp/test.html");
}
and put the test.html page at /webapps/WEB-INF/tld/popUp/test.html
The pop-up part works fine as it is just simplye javascript, but test.html is not displayed.
Struts Problem Report
Struts has detected an unhandled exception:
Messages:
There is no Action mapped for namespace / and action name test.
I have been looking at info online, and everything about struts is action based. Is there anyway I can open a page like on a regular server?
Pages under WEB-INF are not directly accessible to clients; put such pages under the root somewhere.
They can still be in sub-directories if it makes sense, just not under WEB-INF. If they must be under WEB-INF for some reason (which makes no sense for non-JSP pages) they can be streamed through an action like any other file--bit that'd be weird for HTML pages.

Not applying css in struts application while using pretty url

I am doing web application in struts using jsp.I used pretty url's.[i.e.elimination of .do,? ]
When i enter simple url like ->http://localhost:8084/project Name/page.jsp it will show that page with css applied.
But when i enter another page like->http://localhost:8084/project Name/page/8 it will not show the page with the css applied.
Why css is not applying what changes should be made in web.xml file
Not a good practice to use the URL's directly in struts , that does not truly go with mvc2 pattern , always use forward action for this type of work.
Using a central relative css is the best practice .

Use jsf within jsp (change portion of jsp to use jsf)

I need help about converting a portion of jsp page to jsf. My old jsp page is big, and I am trying to change a portion of it (CountryDropdown List) to JSF. So I created a countryDropdown.jsf, I tested to run it directly, it loaded the country-list/works fine.
In my old jsp page (company.jsp), I removed the countryList's portion and try to call/include the new jsf "countryDropdown.jsf" something like this:
<jsp:include page="/web/Test/countryDropDown.jsf" flush="true" />
But I get the errors: java.lang.RuntimeException: Cannot find FacesContext
I am not sure what I was missing, if I directly run the new jsf page http://.../web/Test/countryDropDown.jsf it works fine.
It's not possible to include a JSF page in a regular JSP called directly. If you want to use JSF components, your request must be dispatched by the FacesServlet.
It might be possible to get your setup to work if company.jsp is itself called as a JSF page. But you'll probably keep running into problems; JSF is not really meant to be introduced in bots and pieces into an existing application. At the very least, each page should be either completely JSF or completely classic JSP.

Categories

Resources