Here is my solution, although I know its less than ideal:
<html jwcid="@Shell" renderBaseTag="false"
tapestrySource="asset:tapestrySource" dojoSource="asset:dojoSource"
dojoPath="asset:dojoPath">
@Asset("context:/dojo/")
public abstract IAsset getDojoPath();
@Asset("context:/dojo/dojo.js")
public abstract IAsset getDojoSource();
@Asset("context:/tapestry/core.js")
public abstract IAsset getTapestrySource();
Of course this means I have to place all those files in my context path.
Tapestry seems to look for these files on the classpath and then it
generates an absolute URL including the servers IP (or host name and
port if it is requested that way). From a security point of view it
would be better just to output the relative path... which would work
just as well.
Peter
Peter Stavrinides wrote:
Thanks Andy,
Although I don't understand what I could have misconfigured. I don't
use an absolute URL anywhere and my <host> server is referenced in
tomcats server.xml as localhost.
andyhot wrote:
Looks like a misconfiguration but if you must, the Shell component
http://tapestry.apache.org/tapestry4.1/components/general/shell.html
accepts an ajaxDelegate parameter that is rendering those...
The default implementation for that delegate is
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/AjaxShellDelegate.java?view=log
You can take a look and change as needed.
Peter Stavrinides wrote:
Can anyone point me in the right direction with this, I don't
believe that this can not be done.
Peter Stavrinides wrote:
Hi Everyone
I am trying to deploy a tapestry 4.1 application into a production
environment (on Tomcat 5.5). When the Tapestry Shell component
injects the various dojo scripts into my pages it uses an absolute
URL using the server IP address and port, there must be a way to
switch this off and use a relative path instead.
For Example:
<script type="text/javascript">
djConfig = { isDebug: true, debugContainerId:'debug',
baseRelativePath:"http://192.168.51.33:8080/IRM/app?service=asset&path=%2Fdojo%2F",
preventBackButtonFix: false, parseWidgets: false };
</script>
<script type="text/javascript"
src="http://192.168.51.33:8080/IRM/app?service=asset&path=%2Fdojo%2Fdojo.js"></script>
<script type="text/javascript"
src="http://192.168.51.33:8080/IRM/app?service=asset&path=%2Ftapestry%2Fcore.js"></script>
to become something similar to this:
<script type="text/javascript">
djConfig = { isDebug: true, debugContainerId:'debug',
baseRelativePath:"/IRM/app?service=asset&path=%2Fdojo%2F",
preventBackButtonFix: false, parseWidgets: false };
</script>
<script type="text/javascript"
src="/IRM/app?service=asset&path=%2Fdojo%2Fdojo.js"></script>
<script type="text/javascript"
src="/IRM/app?service=asset&path=%2Ftapestry%2Fcore.js"></script>
Thanks
Peter
--
Peter Stavrinides
Albourne Partners (Cyprus) Ltd
Tel: +357 22 750652
If you are not an intended recipient of this e-mail, please notify the sender, delete it and do not read, act upon, print, disclose, copy, retain or redistribute it. Please visit http://www.albourne.com/email.html for important additional terms relating to this e-mail.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]