action 代码
public ActionForward editInfo(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String number=request.getParameter("number");
SelectDAO sado=new SelectDAO();
List stuidlist=sado.qstuid(number);
HttpSession session=request.getSession();
session.removeAttribute("stuidlist");
session.setAttribute("stuidlist",stuidlist);
try {
request.getRequestDispatcher("upmyinfo.jsp").forward(request, response);
} catch (ServletException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
DAO 代码
public List qstuid(String number)
{
List stuidlist=null;
this.session=HibernateSessionFactory.getSession();
stuidlist=this.session.createQuery("select s.name,c.garde from StuInfo as s,ClassInfo as c where s.SClass=c.cname and s.number="+number).list();
this.session.close();
return stuidlist;
} 页面代码为
<c:forEach items="${stuidlist }" var="stu"><br>
<p>name:<input type="text" value="${stu.name }" />
<p>年级:<input type="text" readonly="readonly" value="${stu.garde }" />
</c:forEach>出现问题 Caused by: java.lang.NumberFormatException: For input string: "name"想进行两个表的联合查询,最后把查询结果存到session中,不过 有个问题是 我两个表都有ID, 不过都不需要取出来,我在页面取的时候就出现问题, 请问是什么引起的? 网上查看说是数据转换问题,不过我根本就没有进行数据转换,是不是hql语句的问题??
public ActionForward editInfo(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String number=request.getParameter("number");
SelectDAO sado=new SelectDAO();
List stuidlist=sado.qstuid(number);
HttpSession session=request.getSession();
session.removeAttribute("stuidlist");
session.setAttribute("stuidlist",stuidlist);
try {
request.getRequestDispatcher("upmyinfo.jsp").forward(request, response);
} catch (ServletException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
DAO 代码
public List qstuid(String number)
{
List stuidlist=null;
this.session=HibernateSessionFactory.getSession();
stuidlist=this.session.createQuery("select s.name,c.garde from StuInfo as s,ClassInfo as c where s.SClass=c.cname and s.number="+number).list();
this.session.close();
return stuidlist;
} 页面代码为
<c:forEach items="${stuidlist }" var="stu"><br>
<p>name:<input type="text" value="${stu.name }" />
<p>年级:<input type="text" readonly="readonly" value="${stu.garde }" />
</c:forEach>出现问题 Caused by: java.lang.NumberFormatException: For input string: "name"想进行两个表的联合查询,最后把查询结果存到session中,不过 有个问题是 我两个表都有ID, 不过都不需要取出来,我在页面取的时候就出现问题, 请问是什么引起的? 网上查看说是数据转换问题,不过我根本就没有进行数据转换,是不是hql语句的问题??
解决方案 »
- ibatis加载不了xml文件?急切!!!
- 请帮我解释EJB中mappedBy的含义
- jsp 分页问题
- 卖身跪求(急):一个JDBC连接池的问题,找不到配置文件,"火大"
- struts处理跨页的表单出现乱码,分不多了,改日一定补上,谢谢了!!
- 各位大哥,帮我推荐一本好的j2ee书啊
- 怎么才能把JTable设成setEditable(false)?
- 关于联合创业的一些问题,欢迎大家来讨论^_^
- 求助高手!!JBoss配置问题!
- 请教weblogic配置,providerURL=t3://localhost:7001 是什么意思?
- 请教高手查询后的分页
- SSH jsp页面得不到Action的值!急
name字符串不能转化为数字
我知道这个的意思,不过我没有将name转换为数字啊
stuidlist=this.session.createQuery("select s.name,c.garde from StuInfo as s,ClassInfo as c where s.SClass=c.cname and s.number="+number).list();
select
stuinfo0_.name as col_0_0_,
classinfo1_.garde as col_1_0_
from
studentInfo.dbo.stu_info stuinfo0_,
studentInfo.dbo.class_info classinfo1_
where
stuinfo0_.s_class=classinfo1_.cname
and stuinfo0_.number=2007371824
1.在hibernate配置中使用外键配置 就是<many-to-one 之类的,
2.使用原生态的sql查询 就是session.createSqlQuery 这样返回的list中是一个Object数组
你这里的StuInfo里属性number是String 类型吗?
很对 数据库是char型 的
实体如果是char,那这就是问题的所在了。
OVER!