【发布时间】:2013-12-17 19:24:10
【问题描述】:
我知道 S2 提供了一种简洁的方式来获取你的动作类中的请求参数,你需要遵循这些简单的规则。
- 创建一个与请求参数名称同名的属性。
- 为此属性创建 getter 和 setter 或将属性公开(对于 S2.1+)
但是,当我在这样的 AJAX 调用中执行此操作时:
$.ajax({
url: '/gma/getJSONData.action?tspName='+tspName+'&thresholdType='+thresholdType,
我没有在动作类中得到tspName 参数。我为它创建了getter/setter。它正在显示null 值。
我是不是哪里错了?
编辑:
我在我的 Action 类构造函数中检查 tspName 的值,所以打印 null。但是,在我的执行方法中,它正确显示了该值。为什么会这样?这意味着在构造函数调用之前它不会初始化值?
【问题讨论】:
-
您能否验证参数名称是否与您作为参数传递的名称完全匹配?还要验证此参数是否确实存在于请求 URL 中,并且其名称与您希望在操作类中接收的名称匹配
-
发送的请求 url 是什么?签入 chrome-developer tools-> Network 选项卡。
-
@coding_idiot: /gma/getJSONData.action?tspName=RELIANCE&thresholdType=undefined
-
@coding_idiot:在 url 内部,它正确地填充了数据。是不是在 AJAX 调用中这种方法不起作用,而它在正常的 url 提交中起作用???
-
你能显示你的getter/setter代码吗?
标签: java ajax jsp struts2 url-parameters