3

我正在尝试用 Stripes 做一些简单的事情。我已经阅读并听到了很多关于使用这个框架的易用性和陡峭的学习曲线(即学习非常快速和富有成效)。

但直到现在,我什至无法用 Stripes 创建最简单的 HelloWorld。

我发现的所有示例都展示了以下功能:“单击链接-> 查看结果”。当我们单击链接时,将调用特殊处理程序(返回Resolution),之后 getter 也可以工作(因为 bean 已实例化)。

但是,如果我不想要链接但我想要简单的静态信息(例如,当我打开 StackOverflow 时,我不需要单击链接,但我会立即看到问题列表),那么对于 Stripes 来说这不是一件小事在我看来,因为 bean 没有立即实例化。

如何解决?是否有一些特殊的注释或其他技术?

这里有没有人尝试过 Stripes 并遇到了同样的问题?我真的很沮丧,也许我错过了什么..

UPD:可能不清楚,因为我没有附加任何代码。所以我再描述一点。为了重现我的情况,从QuickStart获取代码并尝试从 ActionBean getter 中检索文本就足够了(目前,文本在 jsp 中是硬编码的)。文本只会在您按下按钮后出现(即在处理程序完成一些工作之后)。但是在您第一次打开页面后,您将看不到文字。

4

1 回答 1

5

您是否熟悉 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。Stripes 会做一些处理,设置一些东西,然后将您发送到特定的 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,并且索引文件只不过是对实际操作的转发。

于 2010-06-20T19:03:19.093 回答