我这样写会报错,高手改一下,就是在JSP的<html:form>里输入news_id,查询显示就行了。
接口那些是这么写的 public List searchNews(); 具体的。。SqlDAOImpl:
public List searchNews() {
List result_id = new ArrayList();
//创建一个Session对象
Session session = MySessionFactory.currentSession();
//定义一个Transaction对象
Transaction ts = null;
try{
String HQL = "from NewsForm as a where a.news_id=?";
//创建一个Query查询对象
Query query = session.createQuery(HQL);
//创建一个Transaction对象
ts = session.beginTransaction();
//执行查询,取得查询结果
result_id = query.list();
//提交事务
ts.commit();
if (!Hibernate.isInitialized(result_id))Hibernate.initialize(result_id);
}catch(Exception ex){
//回滚事务
ts.rollback();
System.out.println("【系统错误】在查询持久化对象时出错,原因是:");
ex.printStackTrace();
}finally{
//关闭Session对象
MySessionFactory.closeSession();
}
return result_id;
}
action:......
//存放会员列表数据
List<NewsForm> newsList_id;.........
public ActionForward showid(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
try {
NewsForm model = (NewsForm) form;
if (((NewsForm) form).getNews_id().trim().equals(""))
throw new Exception("编号不允许为空!");
else if (((NewsForm) form).getNews_id().length() > 4)
throw new Exception("编号长度最长为4位!");
else {
newsList_id = service.searchNews();
if (newsList_id.size() > 0) {
request.setAttribute("result_id", newsList_id);
request.setAttribute("info", "记录数:"
+ String.valueOf(newsList_id.size()));
} else
request.setAttribute("info", "没有符合要求的记录!"); }
} catch (Exception e) {
request.setAttribute("info", e.getMessage());
}
return mapping.findForward("search");
}
接口那些是这么写的 public List searchNews(); 具体的。。SqlDAOImpl:
public List searchNews() {
List result_id = new ArrayList();
//创建一个Session对象
Session session = MySessionFactory.currentSession();
//定义一个Transaction对象
Transaction ts = null;
try{
String HQL = "from NewsForm as a where a.news_id=?";
//创建一个Query查询对象
Query query = session.createQuery(HQL);
//创建一个Transaction对象
ts = session.beginTransaction();
//执行查询,取得查询结果
result_id = query.list();
//提交事务
ts.commit();
if (!Hibernate.isInitialized(result_id))Hibernate.initialize(result_id);
}catch(Exception ex){
//回滚事务
ts.rollback();
System.out.println("【系统错误】在查询持久化对象时出错,原因是:");
ex.printStackTrace();
}finally{
//关闭Session对象
MySessionFactory.closeSession();
}
return result_id;
}
action:......
//存放会员列表数据
List<NewsForm> newsList_id;.........
public ActionForward showid(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
try {
NewsForm model = (NewsForm) form;
if (((NewsForm) form).getNews_id().trim().equals(""))
throw new Exception("编号不允许为空!");
else if (((NewsForm) form).getNews_id().length() > 4)
throw new Exception("编号长度最长为4位!");
else {
newsList_id = service.searchNews();
if (newsList_id.size() > 0) {
request.setAttribute("result_id", newsList_id);
request.setAttribute("info", "记录数:"
+ String.valueOf(newsList_id.size()));
} else
request.setAttribute("info", "没有符合要求的记录!"); }
} catch (Exception e) {
request.setAttribute("info", e.getMessage());
}
return mapping.findForward("search");
}
解决方案 »
- Struts2的小项目中在DAO模块里我用的hibernate,为什么会报错呢
- 电视节目预告软件网页版已发布,欢迎下载
- java.lang.reflect.InvocationTargetException 请哪位大侠帮帮忙啊。。。
- JSF+JavaScript问题。
- jsp+ajax,怎么我的返回值中有那么多空行?
- 一个棘手的问题。。。
- 关于jaxb的问题,用过的进来看一眼哈
- 如何隐藏的传递参数值,谢谢~~
- 谁有好的PDF文件生成方案?收费的也行
- 200分求javamail完整例子,MVC模式
- 正则表达式替换html标签?
- weblogic 8.1 axis 1.4 发布webservice 出错问题
报什么错 贴出来啊!
jsp页面贴出来 !
JSP代码:<c:set var="result_id" value="${requestScope.result_id}" />
<table width="100%">
<tr align="center">
<td>
<c:out value="${requestScope.info}" />
</td>
<td>
<c:out value="${requestScope.delete}" />
</td>
</tr>
<tr align="center">
<td>
<c:if test="${requestScope.newsList_id!=null}">
<table border="1">
<tr align="center">
<td>
编号
<input type="hidden" name="news_detail" value="${row[4]}">
</td>
<td>
主题
</td>
<td>
作者
</td>
<td>
日期
</td>
<td align=center colspan=4>
操作
</td>
</tr>
<c:forEach items="${requestScope.newsList_id}" var="row"> <tr align="center">
<td>
${row[0]}
</td>
<td>
${row[1]}
</td>
<td>
${row[2]}
</td>
<td>
${row[3]}
</td>
<c:if test="${requestScope.newsList_id!=null}">
result
try{
String HQL = "from NewsForm as a where a.news_id=?";
//创建一个Query查询对象
Query query = session.createQuery(HQL); ?号参数没有设置值。。 //创建一个Transaction对象
ts = session.beginTransaction();
//执行查询,取得查询结果
result_id = query.list();
//提交事务
ts.commit();
request.setAttribute("info", "记录数:"
+ String.valueOf(newsList_id.size()));result_id和info才是你request中存放数据的属性
页面获取有问题