散分, 顺便问几个ssh中struts的问题。
请问在struts框架下怎么对一个JSP页面进行一些特殊的初始化
比如有这么一个场景:有一个登陆页面,页面上有一个下拉选项是登陆的级别,而这个级别是从数据库中取出的,但是这个JSP页面是系统的index页面,还来不及调到后面的ActionBean,那怎么查数据库呢?难道还是象一般的JSP页面那样写一大堆JSP代码在页面上吗?那不是违背了struts的精神了吗?struts不就是为了不在页面上出现JAVA代码吗?
请问struts有没有提供什么方法解决这个问题? 我在网上找到这么几种方案,但还是不太明白。请大家帮我解答一下,谢谢
方法1:
在第一个页中,只做一个转发的功能,不显示任何内容,
在index.jsp中只有一句:
<logic:redirect href="home.do">
这种方法好像不行的,因为我的index页面会嵌入其他的页面,其他的页面也会有初始值的,初始数据是从数据提取的,用这种方法不是乱了吗 ?
方法2:
也可以在index.jsp中用数据库,通过自定义标签读取数据到Bean中。
这种方法没有用过,不知道怎么用,我的项目是架构是struts+spring+hibernate,如果可以用请大家说详细点,最好是有事例,
方法3:
在web.xml中定义一个<servlet>,设置其加载的优先级比action(即ActionServlet)高,在自定义的<servlet>中读入数据库内容到Bean中。
这种方法不知到怎么用,没有用过,请大家指教,
方法4:
听说可以用ajax,可ajax我也只简单的用,解决这个问题我不知道怎么做,请大家指教。
方法5:
用jsp脚本,就是我不想用jsp脚本去做,而且有违背struts的精神,当然我以前没有用struts时以前都是用这种方法做的。现在有用struts了就不想用jsp脚本去做。
大家有什么好的方法解决吗?知道那中方法就说那种,请大家详细介绍一下,谢谢,小弟不甚感激。
如果分不够我可以再加,我一次最多只能发100分贴。