首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

求大神见教哦

2012-09-06 
求大神指教哦!这里是 Jsp页面list.jsp显示所有的报价历史%@ page languagejava importjava.util.*

求大神指教哦!
这里是 Jsp页面 list.jsp 显示所有的报价历史

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <title>历史订单</title>
  <script type="text/javascript">
   
  function back(){
history.go(-1);
}

//详细信息
function findByIdFromshow(form,id){
document.getElementById('filterOfferDetailedId').value=id;
alert(id);
var url='<s:url action="show" namespace="/quote"/>';
form.action = url;
form.submit();
}
</script>

  </head>
  
  <body>
  <s:hidden id="filterOfferDetailedId" name="filterOfferDetailedId" value=""/>
  <form>
  <s:token/>
  <table align="center" border="">
  <tr>
<td align="center" colspan="6"><h5>历史报价</h5></td>
</tr>
  <tr>
  <td><s:text name="序号"/></td>
  <td><s:text name="商品名称"/></td>
<td><s:text name="数量"/></td>
<td><s:text name="单价(元)"/></td>
<td><s:text name="金额(元)"/></td>
<td><s:text name="报价日期"/></td>

</tr>
<s:iterator value="pagination.items" status="status">
  <tr>
  <td><a href="javascript:findByIdFromshow(document.forms[0],'<c:out value="${offerDetailedId}"/>');"><s:property value="offerDetailedId" /></a></td>
  <td><s:property value="productName" /></td>
<td><s:property value="productNum" /></td>
<td><s:property value="productPrice" /></td>
<td><s:property value="productNum * productPrice" /></td>
<td><s:property value="createDate"/></td>
  </tr>
  </s:iterator>
  </table>
  </form>
  </body>
</html>
这里是Action层:

package com.shhelian.app.action.chance;

import java.text.SimpleDateFormat;

import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

import com.shhelian.app.model.QuoteDetailed;
import com.shhelian.app.model.SellChance;
import com.shhelian.app.model.SellOrder;
import com.shhelian.app.service.chance.QuoteDetailedService;
import com.shhelian.modules.orm.PaginationSupport;
import com.shhelian.modules.web.struts2.BaseCRUDAction;


@Component("quoteDetailed")
@Scope("prototype")
public class QuoteDetailedAction extends BaseCRUDAction<QuoteDetailed> {

static Logger logger = Logger.getLogger(QuoteDetailedAction.class.getName());

@Autowired
private QuoteDetailedService entityService;

// model
private QuoteDetailed entity;

private String filterOfferDetailedId;

private String filterProductName;



@Override
protected void prepareModel() throws Exception {
logger.debug("==========> prepareModel");
if (StringUtils.isNotBlank(filterOfferDetailedId)) {
System.out.println(filterOfferDetailedId);
entity = entityService.findById(filterOfferDetailedId);
} else {
entity = new QuoteDetailed();
}
}

/**
* 集合列表
*/
@Override
public String list(){
try{
PaginationSupport<QuoteDetailed> ps = entityService.findPage(
getPagination().getPageSize(),
getPagination().getStartIndex(),
filterProductName);
setPagination(ps);
return RELOAD;
}catch (Exception e) {
e.printStackTrace();
}
return ERROR;
}
/**
* 详细信息
*/
@Override
public String show(){
logger.debug("=====================" + filterOfferDetailedId);
System.out.println("***************************" + filterOfferDetailedId);
entityService.findById(filterOfferDetailedId);
return RELOAD;
}

/**
* 保存
*/
@Override
public String insertSubmit() throws Exception {
logger.debug("==========> insertSubmit");
try {
entityService.save(entity);
return RELOAD;
} catch (Exception ex) {
ex.getStackTrace();
return ERROR;
}
}


@Override
public QuoteDetailed getModel() {
return entity;
}

public String getFilterOfferDetailedId() {
return filterOfferDetailedId;
}

public void setFilterOfferDetailedId(String filterOfferDetailedId) {
this.filterOfferDetailedId = filterOfferDetailedId;
}

public String getFilterProductName() {
return filterProductName;
}

public void setFilterProductName(String filterProductName) {
this.filterProductName = filterProductName;
}

}

页面报错:

java.lang.IllegalArgumentException: id to load is required for loading
org.hibernate.event.LoadEvent.<init>(LoadEvent.java:74)
org.hibernate.event.LoadEvent.<init>(LoadEvent.java:56)
org.hibernate.impl.SessionImpl.get(SessionImpl.java:840)
org.hibernate.impl.SessionImpl.get(SessionImpl.java:836)
org.springframework.orm.hibernate3.HibernateTemplate$1.doInHibernate(HibernateTemplate.java:531)
org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419)


错误的原始是我Action层里的Id为Null, 可是我页面明明获取到Id了 alert();了下。 Id是有值的, 为什么到Action层就为Null , 求大神指教哦!

[解决办法]
因为你的id没有被form包括,把这一行
 <s:hidden id="filterOfferDetailedId" name="filterOfferDetailedId" value=""/>
放到form中就可以了

热点排行