[Struts]使用tiles管理界面遇到困难

上个周末都在研究怎么用tiles管理示范中心项目的界面,没想到遇到了不少麻烦,到现在也没解决。首先,示范中心项目有很多个模块,我们是用struts的模块功能分开的。本来想的是在缺省模块里定义几个公用的界面定义(definition),然后再各模块里都继承这个定义,并修改必要的tile就可以了。没想到不管怎么设置,模块里的定义都继承不到缺省的定义。缺省模块里:

None.gif < plug-in  className ="org.apache.struts.tiles.TilesPlugin"   >
None.gif  
< set-property  property ="definitions-config"  value ="/WEB-INF/tiles-defs.xml"   />
None.gif
</ plug-in >
None.gif

教师模块里:

None.gif < plug-in  className ="org.apache.struts.tiles.TilesPlugin"   >
None.gif  
< set-property  property ="definitions-config"  value ="/WEB-INF/tiles-defs.xml,/WEB-INF/tiles-defs-teacher.xml"   />
None.gif
</ plug-in >
None.gif

tiles-defs.xml里:

None.gif < definition  name ="classicLayout"  path ="/layout/classic.jsp" >
None.gif    
< put  name ="header"  value ="/header.jsp"   />
None.gif    
< put  name ="menu"  value ="/teacher/list.do" />
None.gif    
< put  name ="main"  value ="" />
None.gif    
< put  name ="footer"  value ="/footer.jsp"   />  
None.gif
</ definition >
None.gif

tiles-defs-teacher.xml里:

None.gif < definition  name ="listLayout"  extends ="classicLayout" >
None.gif    
< put  name ="main"  value ="/teacher/list.jsp" />
None.gif
</ definition >
None.gif

然后在教师模块里forward到listLayout,提示path没有以"/"开头,就是没有找到listLayout这个定义了。我试了很多写法,包括设置moduleAware的属性,都没有成功。

后来想就在每个模块里都写classicLayout的定义吧,都指向同一个.jsp定义文件就可以了。又遇到新问题,我想在teacher模块里显示menu模块里的内容,会提示找不到所需资源,因为我是在teacher模块里,menu模块的资源是无法访的,除非在menu模块的配置文件里指定key,再在.jsp文件里强制指定bundle的名称,我觉得这个方法太不雅了,同时要做不少修改。

None.gif < definition  name ="classicLayout"  path ="/layout/classic.jsp" >
None.gif    
< put  name ="header"  value ="/header.jsp"   />
None.gif    
< put  name ="menu"  value ="/menu/list.jsp" />
None.gif    
< put  name ="main"  value ="/teacher/list.jsp" />
None.gif    
< put  name ="footer"  value ="/footer.jsp"   />  
None.gif
</ definition >
None.gif

还有,<put>里的value只能是.jsp吗,用.do行不行,我试的结果是不行,虽然没报任何错误,但页面生成到那之前就截止了。郁闷!

转载于:https://www.cnblogs.com/bjzhanghao/archive/2004/08/23/36000.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值