窗体Bean(Form Bean)对象用来包装HTML表单数据,当然也包括通过URL请求传递过来的数据。举例来说,一个登陆页面可能有两个属性(Property)login和password。Form Bean由Struts的ActionForm类扩展而来。
请求Bean(Request Bean)拥有用来生成HTML页面的所需的信息。例如在一个表现银行账户状态的页面中,请求Bean就应该有账户相关信息以及近期的交易记录等等。
会话Bean(Session Bean)拥有同一用户在不同Http请求间共享的对话信息。
视图(View): Struts控制器会把Http请求转发到作为MVC视图的JSP文件。这个JSP文件可以访问窗体Bean、请求Bean、会话Bean,生成结果文档(通常是一个HTML文档),并发送到客户端。Struts提供了四组JSP标志库。
HTML:用来生成HTML标志,特别是用来自模型的数据填写HTML表单。
Bean: 操作Bean。
Logic: 根据Bean值实现逻辑结构。
Template:处理页面模板。
通过Struts标志的使用,你可以避免在视图中使用任何的Java代码。
Struts/JSP 缺点
虽然Struts/JSP较之其他模式有许多优势,但它也存在着一些缺点和不足:
程序员可以把应用逻辑放入JSP。遇到问题时,开发人员可以很快地加以修改,经验表明这实际上是陷阱。
程序结构很容易变得复杂和难于管理。
JSP不能很好地支持XML,也就不能保证生成的结果文档(XML或HTML文档)将会是100%“格式良好”(Well-Formed)。
开发人员需要学习如何使用Struts的标志库。事实上要理解这些Struts的标志库,特别是Bean和HTML标志库的确要花费比较长的时间。
你不能在视图中用JSP来实现处理管道(processing pipeline)。只能做些简单的include和forward,这样很明显就会限制了视图的灵活性。例如,对布局计和风格的分离就会比较困难。
对JSP页面的任何修改都会导致JSP的重新编译,这样是非常耗费时间的。
上述问题的解决方法必须要具备以下要求: 限制视图对模式和一些定义明确的上下文环境信息的可见程度,比如项目资源的可见程度就应该受到控制。
强制使用格式良好的XML和HTML
能够对在现存的语言或API起到杠杆作用
降低对视图不同部分分离的难度,比如布局和风格的分离。
缩短开发周期
我们相信我们接下来讨论的这个基于未加修改的Struts和XSLT的轻型框架可以满足上述的要求。我们把这个新的架构叫做Model 2x
R85北方站长站
共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面