这里是 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 , 求大神指教哦!
<%@ 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 , 求大神指教哦!
<s:hidden id="filterOfferDetailedId" name="filterOfferDetailedId" value=""/>
放到form中就可以了
有的。 在Action层最下面 , 问题我已经解决了。 楼下的那个仁兄给出的答案是正确的。