如何使ActionBean立即实例化,但在我打电话给一位处理程序之后不进行实例化?
题
我试图用条纹制作简单的东西。我已经阅读并听到了很多关于使用此框架和陡峭学习曲线的简单性的信息(即学习非常快,富有成效)。
但是直到这一刻,我什至无法用条纹创建最简单的Helloworld。
我发现的所有示例都证明了功能,例如:“单击链接 - >请参阅结果”。当我们单击链接时,请调用特殊处理程序(返回 Resolution
)此之后,Getters也有效(因为Bean是实例化的)。
但是,如果我不想要链接,但我想要简单的静态信息(例如,当我打开stackoverflow时,我不需要单击链接,但是我立即看到了一个问题列表)在我看来,因为bean没有立即实例化。
如何解决?是否有一些特殊的注释或其他技术?
这里有人尝试了条纹并遇到了同样的问题吗?我真的很沮丧,也许我错过了什么。
upd:可能不清楚,因为我没有附加任何代码。所以我更多地描述了。为了重现我的情况,足以从中获取代码 快速开始 并尝试从ActionBean Geters检索文本(目前,文本在JSP中进行了硬编码)。只有在按下按钮之后,文本才会出现(即处理程序完成一些工作)。但是,第一次打开页面后,您不会看到文本。
解决方案
您是否熟悉MVC模式(请参阅 http://en.wikipedia.org/wiki/model%E2%80%93View%E2%80%93Controller )? MVC的关键部分之一是您永远不会直接致电JSP。你不去 www.myservername.com/myjsp.jsp. 。相反,你去 www.myservername.com/mything.action. 。条纹将进行一些处理,设置一些东西,然后将您发送到特定的JSP。
从您的问题来看,听起来您正试图直接进入JSP。停止这样做,您会与条纹相处得更好。
至于您只需访问www.myservername.com时会发生什么,您可以在Web.xml中访问“欢迎文件”。你做这样的事情
<welcome-file>index.jsp</welcome-file>
(是的,您直接打破了关于没有JSP的规则)
然后,在index.jsp中,您将其制作为1行文件。
<jsp:forward page="myaction.action"/>
而且,第一次有人去您的网站时,他们击中了index.jsp,这将它们发送到了一个动作,该动作填充了东西并将其转发。在其他情况下,用户不会直接进入JSP,而索引文件不过是对真实操作的转发。