一个简单又复杂的问题,struts下如何合理的使用图片的URL地址,各路高手都来看一下。

FoxMale007 2005-12-12 11:51:18
现在我需要达到配置web的发布路径同时更改该项目所有的页面地址。

例如一个项目,我在tomcat里发布路径为:/prj1
通常对于非Web Content下路径,例如Web Content/user/userLogin.jsp里调用Web Content/user/images/titleBar.jpg,会在userLogin.jsp这么使用titleBar.jpg:
/prj1/user/images/titleBar.jpg
但是有一个问题,prj1这不是写死到页面里了吗?如果以后更改发布路径,那岂不是全部的图片都需要更改?

我又尝试在userLogin.jsp里写成images/titleBar.jpg的相对路径来调用titleBar.jpg,这样登陆的页面没问题,但是一提交问题又来了。ActionForm不通过则经返回到原来的页面,页面地址变成了"http://localhost:8080/prj1/UserLogin.do",返回的页面,titleBar.jpg却显示不了了。因为页面目录改变到了http://localhost:8080/prj1,我的http://localhost:8080/prj1/images/titleBar.jpg却没有图片,图片在http://localhost:8080/prj1/user/images/titleBar.jpg的位置

我的struts-config.xml里这样配置:
<action path="/UserLogin"
name="UserLoginValidateForm"
type="user.UserLogin"
scope="session">
<forward name="success" path="/user/welcomeUser.jsp"/>
</action>


有没有更好点的办法?
...全文
147 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
walkbird 2005-12-12
  • 打赏
  • 举报
回复
我看了半天不太领会你的意思,不知道这样回答能不能达到你的效果.

我是把服务器地址写到ApplicationResources.properties

然后在jsp或者action里面调用相关的properties和相对路径组合成绝对路径使用

在部署程序的时候可以手工修改ApplicationResources.properties里的地址.

或者,还可以写一个xml文件来单独调用。
FoxMale007 2005-12-12
  • 打赏
  • 举报
回复
试试...
devie 2005-12-12
  • 打赏
  • 举报
回复
<action path="/UserLogin"
改成
<action path="/user/UserLogin"

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧