SSH中jsp页面对象.参数名传参到后台无法获取值,求分析,求讲解

时间:2021-03-22 21:24:11
首先通过菜单进入一个list页面,action方法如下:

private NewInsuranceMarketTaskService newInsuranceMarketTaskService;
private NewInsuranceMarketTask newInsuranceMarketTask;//实体Bean对象
private List<NewInsuranceMarketTask> newInsuranceMarketTaskList;//获取List
public String list(){
try{
System.out.println("// Debug Enter list :");
// init QueryBean
currentUser = super.getSysUser();
newInsuranceMarketTaskQuery = new NewInsuranceMarketTaskQuery();
int firstRecord = 0;
if (page == null) {
page = new Page();
}
newInsuranceMarketTaskList = newInsuranceMarketTaskService.queryMarketTaskByQuery(newInsuranceMarketTaskQuery,currentUser, firstRecord, page.getPageSize());
return "list";
}catch (Exception e) {
log.error(e.getMessage(), e);
return ERROR;
}

}
public NewInsuranceMarketTaskService getNewInsuranceMarketTaskService() {
return newInsuranceMarketTaskService;
}
@Resource
public void setNewInsuranceMarketTaskService(NewInsuranceMarketTaskService newInsuranceMarketTaskService) {
this.newInsuranceMarketTaskService = newInsuranceMarketTaskService;
}
public NewInsuranceMarketTask getNewInsuranceMarketTask() {
return newInsuranceMarketTask;
}
public void setNewInsuranceMarketTask(NewInsuranceMarketTask newInsuranceMarketTask) {
this.newInsuranceMarketTask = newInsuranceMarketTask;
}
public List<NewInsuranceMarketTask> getNewInsuranceMarketTaskList() {
return newInsuranceMarketTaskList;
}
public void setNewInsuranceMarketTaskList(
List<NewInsuranceMarketTask> newInsuranceMarketTaskList) {
this.newInsuranceMarketTaskList = newInsuranceMarketTaskList;
}

jsp页面布局如下

<s:if test="%{newInsuranceMarketTaskList != null && newInsuranceMarketTaskList.size()>0}">
    <s:iterator value="newInsuranceMarketTaskList" id="newInsuranceMarketTask" status="index">
     <tr>
<td align="center">
<input type="checkbox"  value='<s:property value="#newInsuranceMarketTask.id"/>' name="checkbox" id="<s:property value='#newInsuranceMarketTask.subStatus.id'/>" >
     </td>
     <td align="center">
  <a href="infoNewInsuranceMarketTask.action?newInsuranceMarketTask.id=<s:property value='id'/>" style="cursor:pointer;" target="_blank" title="点击查看详情">
     <s:property value="#newInsuranceMarketTask.id"/>
     </a>
     </td>
<td align="center">
&nbsp;<s:if test="#newInsuranceMarketTask.taskType==1">个人</s:if><s:if test="#newInsuranceMarketTask.taskType==2">单位</s:if>
</td>
<td align="center">&nbsp;
<s:property value="#newInsuranceMarketTask.newInsuranceType.name"/>
</td></tr>
    </s:iterator>
    </s:if>

在jsp页面中超链接进入明细查看页面<a href="infoNewInsuranceMarketTask.action?newInsuranceMarketTask.id=<s:property value='id'/>" style="cursor:pointer;" target="_blank" title="点击查看详情"><s:property value="#newInsuranceMarketTask.id"/></a>在action中,获取超链接传递的参数,在上面action中有对象newInsuranceMarketTask的get set方法,但是这个对象总是为空,所以id属性的值也为空。但是我的List页面是显示出来数据的,Id有值,我想问下,在list方法往页面传值,再传回action时如何让newInsuranceMarketTask获取到值?newInsuranceMarketTask这个对象是在jsp页面声明使用时实例化的吗?求讲解下原理,谢谢

6 个解决方案

#1


遇到这种错误有两种原因,一、在页面初始化时,对象未进行实例化
二、对象实例化,并加载到了页面,但是jsp页面有错误,我指的的是其他属性存在错误;从进不到后台;
本问题已解决,顶着有分

#2


还没看懂楼主说的什么问题,这就说解决了。

#3


LZ你的问题应该是第二种吧。

#4


引用 2 楼  的回复:
还没看懂楼主说的什么问题,这就说解决了。

刚开始使用SSH,对这种注入使用不熟悉,通过2周的开发,总结出来这种传参后台获取不到的原因,所以分享下;另外我接下来要写接口,高手帮忙指点下,对这方面没有任何经验,请多指教

#5


引用 3 楼  的回复:
LZ你的问题应该是第二种吧。

恩,是的,我是属于后者,我在action中打印出来,看到有值,但是页面总是返回不了后台,所以想请教下

#6


楼主,我想问一下如果是第一种情况,要怎么解决呢?我是id值在jsp页面有值,但是往action跳的时候传id报空指针异常。
jsp:
<td style="text-align: center">
<a id="add_dialog"
href="MyEngLearn/frame/getWelnews.action?welnews.id=${wn.id}">查看精彩内容</a>
</td>
action:
public String getWelnews()
{
    int id=welnews.getId();
Welnews wn=welnewsservice.getWelnewsById(id);
this.put2Session("wn", wn);
return "getWelnews";
}
报错,说获取id那行,空指针异常

#1


遇到这种错误有两种原因,一、在页面初始化时,对象未进行实例化
二、对象实例化,并加载到了页面,但是jsp页面有错误,我指的的是其他属性存在错误;从进不到后台;
本问题已解决,顶着有分

#2


还没看懂楼主说的什么问题,这就说解决了。

#3


LZ你的问题应该是第二种吧。

#4


引用 2 楼  的回复:
还没看懂楼主说的什么问题,这就说解决了。

刚开始使用SSH,对这种注入使用不熟悉,通过2周的开发,总结出来这种传参后台获取不到的原因,所以分享下;另外我接下来要写接口,高手帮忙指点下,对这方面没有任何经验,请多指教

#5


引用 3 楼  的回复:
LZ你的问题应该是第二种吧。

恩,是的,我是属于后者,我在action中打印出来,看到有值,但是页面总是返回不了后台,所以想请教下

#6


楼主,我想问一下如果是第一种情况,要怎么解决呢?我是id值在jsp页面有值,但是往action跳的时候传id报空指针异常。
jsp:
<td style="text-align: center">
<a id="add_dialog"
href="MyEngLearn/frame/getWelnews.action?welnews.id=${wn.id}">查看精彩内容</a>
</td>
action:
public String getWelnews()
{
    int id=welnews.getId();
Welnews wn=welnewsservice.getWelnewsById(id);
this.put2Session("wn", wn);
return "getWelnews";
}
报错,说获取id那行,空指针异常