You're getting blank pages or no styles because ${context_root} is not
a real variable, the string "${context_root}" may even be in your
generated HTML, which would be way wrong.

Actually, ${context_root} was a placeholder for the correct variable
that I didn't know the exact value of off the top of my head, you
probably want to use ${requestScope.contextPath}. If you're not in a
JSTL 2.0 environment you'll have to surround it with <c:out
value="..."/>. Also, the path after the ${} will have to match what
directory you put it into when you build your war file.

-ed

On 11/9/06, robin bajaj <[EMAIL PROTECTED]> wrote:
Hi Ed,
Thanks for the suggestion, I agree with you.
But when I changed my JSP Web-inf/jsp/non-tiles.jsp
to point to my .css and .js in your suggested way, I get weird behaviour in
the browsers.
In IE 6, I get a blank page *(yes a totally white blank page)
In Mozilla firefox 2.0 , I get simple content (as before making this
changes) without applying the stylesheets... what am I doing wrong now.
Here's non-tiles.jsp code , may be you can spot the culprit.
------------------------------
<%@ page language="java"%>
<%@ taglib uri="http://struts.apache.org/tags-bean"; prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html"; prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic"; prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles"; prefix="tiles" %>
<html:html>
<head>
<title>adfasdf</title>
<script src="${context_root}/scripts/oBCTS_scripts.js" language="javascript"
type="text/javascript"></script>
<script type="text/css" src="${context_root}/css/styles.css"/>
</head>
<body class="sidebar">
<dl id="menu">
<%-- <html:button property="Back"
onclick="location.href='default.do'">Back</html:button> --%>
<dt onclick="javascript:show();"><a
href="navigatePatient.do?do=getFirstPatient">Add New Patient</a></dt>
<dt onclick="javascript:show();"><a href="listPatients.do">View Working
List</a></dt>
<%--<dt class="level1Menu" onclick="javascript:show('smenu3');">Access
Patient Roster</dt>--%>
<dt onclick="javascript:show();"><a href="myAction.do?do=addBook">Access
Patient Roster</a></dt>
<dd id="smenu3">
<ul>
<li><a href="myAction.do?do=addBook">History</a></li>
<li><a href="myAction.do?do=addBook">Clinical Presentations</a></li>
<li><a href="myAction.do?do=addBook">Family Malignancies</a></li>
<li><a href="myAction.do?do=addBook">Comorbidities</a></li>
<dl id ="menu2">
<dt style="text-align:right;" onclick="javascript:show('ssmenu1');"
 >Treatments*</dt>
<dd id="ssmenu1">
<ul>
<li><a href="myAction.do?do=addBook">Neo Adjuvant</a></li>
<li><a href="myAction.do?do=addBook">Surgery</a></li>
<li><a href="myAction.do?do=addBook">Adjuvant Chemo</a></li>
<li><a href="myAction.do?do=addBook">Hormonal</a></li>
<li><a href="myAction.do?do=addBook">Biologic Agents</a></li>
<li><a href="myAction.do?do=addBook">Clinical Trial</a></li>
</ul>
</dd>
</dl>
<%-- <li><a href="myAction.do?do=addBook">Images</a></li> --%> <%-- robin:
Check with M if this is required here. --%>
<li><a href="myAction.do?do=addBook">Pathologies</a></li>
<li><a href="myAction.do?do=addBook">Biopsies</a></li>
<li><a href="myAction.do?do=addBook">Clinical Evaluation/Follow-ups</a></li>
</ul>
</dd>
<%--<dt onclick="javascript:show('smenu4');">View Images</dt>--%>
<dt onclick="javascript:show();"><a href="myAction.do?do=addBook">View
Images</a></dt>
<dd id="smenu4">
<ul>
<li><a href="myAction.do?do=addBook">Mammograms</a></li>
<li><a href="myAction.do?do=addBook">X-Rays</a></li>
<li><a href="myAction.do?do=addBook">Bone Scans</a></li>
<li><a href="myAction.do?do=addBook">CT Scans</a></li>
<li><a href="myAction.do?do=addBook">Ultrasound Scans</a></li>
<li><a href="myAction.do?do=addBook">MRI Studies</a></li>
</ul>
</dd>
</dl>
</body>
</html:html>

----------------------------------------



----- Original Message -----
From: "Ed Griebel" <[EMAIL PROTECTED]>
To: "Struts Users Mailing List" <user@struts.apache.org>
Sent: Thursday, November 09, 2006 4:44 PM
Subject: Re: problem with moving jsp pages under web-inf/ folder


> What happens when the JSP is converted to HTML, it is sent to the
> browser. The browser then tries to access the css and js files from
> the webserver, but since the HTML points to web-inf, it won't serve
> them.
>
> One way to do it is to create an action mapping that is just defined
> as a ForwardAction, e.g. <action path="/css"
> type="org.apache.struts.actions.ForwardActions"
> parameter="/WEB-INF/css/my.css"/>
>
> However, why do you need to protect the CSS and javascript files? Why
> not have them outside of the WAR files's WEB-INF directory, then your
> http would just have a simple <script type="text/css"
> file="${context_root}/css/my.css"/> ? You are not going to keep
> anything "secret" by keeping them in WEB-INF because they are simple
> text files and anyone who looks at the generated HTML will see where
> the CSS comes from.
>
> On 11/9/06, robin bajaj <[EMAIL PROTECTED]> wrote:
>> Hi Everybody,
>>
>> - SUMMARY -
>> Can anyone tell me as to how can I make my jsp lying in Web-inf/jsp/
>> folder
>> pick the stylesheet and javascript lying
>> in Web-inf/scripts and Web-inf/css ??
>>
>> - DETAILS -
>> I have SSL enabled my web-app this morning using SSLext release 0 .
>> I am using Struts 1.2.x with Tiles. Now I can switch from http to https
>> etc.
>> So,everything is working fine except that my jsp pages
>> (and other images, css and javascript files) are still lying under
>> WebRoot\
>> folder.
>> To be specific - webRoot\jsp , webRoot\css, webRoot\images,
>> webRoot\scripts
>> have the corresponding resources.
>>
>> I want to avoid direct access to the jsp (and the static resources) from
>> the
>> browser
>> (foreg: since my jsp pages are currently in webRoot\jsp, user can still
>> access them
>> using http://hostname:port//context-name/jsp/abc.jsp )
>>
>> So I tried moving my jsp folder (and images, css, scripts folders) to
>> webRoot\WEB-INF\
>> from webRoot. Since I am using tiles, I also updated the references to
>> the
>> jsps
>> from /jsp/abc.jsp   to ---> /WEB-INF/jsp/abc.jsp
>>
>> Now when i go to my home page. My images, javascripts and css are not
>> being
>> applied to the jsp pages. I get plain white jsp page with contents.
>>
>> Just to make sure, that Tiles is not messing things up. I created a new
>> JSP
>> page - Web-inf\jsp\non-tiles.jsp
>> And copied the contents of another jsp that uses javascript and css
>> stylesheets.
>>
>> And forwarded my index.jsp to an actionForward that points to this
>> non-tiles.jsp.
>> Even this .jsp shows up without applying the css and javascript.
>>
>> So I thought its a path issue.
>> I am accessing my javascript and css as
>> <script src="../scripts/oBCTS_scripts.js" language="javascript"
>> type="text/javascript"></script>
>> <link rel=stylesheet type="text/CSS" HREF="../css/styles.css">
>>
>> Since my non-tiles.jsp is in Web-inf/jsp/ folder , and oBCTS.js file is
>> in
>> Web-inf/scripts/ folder  (similary .css file is in
>> Web-inf/css/styles.css)
>> I think the above paths should resolve correctly. But they DO NOT and
>> hence
>> even my non-tiles.jsp shows up without applying the .css stylesheet and
>> .js
>> javascript effects.
>>
>> Just to prove it for myself, I copy-pasted the contents .css and .js
>> files
>> into the jsp itself and now access them as
>> <script type="text/javascript">      [...]     </script>
>> <style type="text/css">  [...]  </style>
>>
>> So this works fine. (After all... :-(
>> Can anyone tell me as to how can I make my jsp lying in Web-inf/jsp/
>> folder
>> pick the stylesheet and javascript lying in Web-inf/scripts and
>> Web-inf/css
>> ??
>>
>> Thanks in advance,
>> robin
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to