请问:jsp标签是如何从action中取业务数据的

单纯的jsp开发的时候,业务数据的处理都在页面上完成。
用了mvc框架后,业务数据的处理在action里面,jsp页面只负责展示业务数据,那jsp页面是从什么地方获得业务数据的呢?

不好意思,没分了

5个回答

Struts1.x没有研究过。对于Struts2,个人认为:

回答你的问题的关键词 是 OGNL。

Struts2中OGNL的上下文(Context)的实现就是ActionContext。

Struts2为每一次的http请求,创建一个ActinoContext。 你说说的JSP的数据,全在这个ActionContext中。

解析 EL表达式时,由于Struts2对HttpRequest对象进行了包装。会自动访问ActionContext的值。

解析 标签库时,有调用与标签相关的文件,来解析其中的名字,进而访问到ActionContext中的相应属性。

[b]
[color=blue]JSP从表单、URL参数中获取 业务数据[/color][/b]

主要是与action关联的Form

当然 lz也可以在action处理时在session request中存入一些东西

然后在jsp中使用request.getAttribute 之类的方法来获取

[color=blue]
[b]那是Struts2对HttpRequest对象进行了包装 所以你可以用EL表达式获得 HttpRequest中的参数,以及 XXAction中提供的Get方法的Field。[/b] [/color]

[b]Struts2的这部分源码很短,自己参考吧:

[color=blue]org.apache.struts2.dispatcher.StrutsRequestWrapper[/color][/b]

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问