action
import java.util.List;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.hibernate.Session;import com.myself.hibernate.vo.ReaderAndBook;
import com.myself.hibernateFactory.HibernateSessionFactory;public class Query extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String sql = "select readerandbook " +
"from Reader reader,ReaderAndBook readerandbook where reader.readerid = readerandbook.TReader.readerid";
Session session = HibernateSessionFactory.getSession();
org.hibernate.Query q = (org.hibernate.Query)session.createQuery(sql);
List list = q.list();
request.setAttribute("readerAndBooks",list);
return mapping.findForward("success");
}
}jsp页面
<%@ page language="java" import="java.util.*,com.myself.hibernate.vo.*"
pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-logic"
prefix="logic"%>
<html>
<head>
</head> <body>
<form action="${pageScope.path}query.do" method="post">
<input type="submit" value="submit" />
<logic:present name="${requestScope.readerAndBooks}">
<table>
<tr>
<td>
readerandbookid
</td>
<td>
readerid
</td>
</tr>
<logic:iterate id="readerandbook" name="${requestScope.readerAndBooks}">
<tr>
<td>
${readerandbook.readerandbookid}
</td>
<td>
${readerandbook.TReader.readerid}
</td>
</tr>
</logic:iterate>
</table>
</logic:present>
</form>
</body>
</html>
请问我的页面上为什么总没有输出呀???(标签都已经配置好了)
import java.util.List;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.hibernate.Session;import com.myself.hibernate.vo.ReaderAndBook;
import com.myself.hibernateFactory.HibernateSessionFactory;public class Query extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String sql = "select readerandbook " +
"from Reader reader,ReaderAndBook readerandbook where reader.readerid = readerandbook.TReader.readerid";
Session session = HibernateSessionFactory.getSession();
org.hibernate.Query q = (org.hibernate.Query)session.createQuery(sql);
List list = q.list();
request.setAttribute("readerAndBooks",list);
return mapping.findForward("success");
}
}jsp页面
<%@ page language="java" import="java.util.*,com.myself.hibernate.vo.*"
pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-logic"
prefix="logic"%>
<html>
<head>
</head> <body>
<form action="${pageScope.path}query.do" method="post">
<input type="submit" value="submit" />
<logic:present name="${requestScope.readerAndBooks}">
<table>
<tr>
<td>
readerandbookid
</td>
<td>
readerid
</td>
</tr>
<logic:iterate id="readerandbook" name="${requestScope.readerAndBooks}">
<tr>
<td>
${readerandbook.readerandbookid}
</td>
<td>
${readerandbook.TReader.readerid}
</td>
</tr>
</logic:iterate>
</table>
</logic:present>
</form>
</body>
</html>
请问我的页面上为什么总没有输出呀???(标签都已经配置好了)
解决方案 »
- jquery.ajaxForm 问题
- oracle11g Hibernate如何映射enum枚举类型
- FCKeditor 配置问题
- OA系统和域整合
- 请教大家一个非常简单的问题(Struts中消息资源bundle指定问题),即时结贴!
- 求一现成可套用的树控件 做毕业设计急用
- 在线急等!!!关于struts的一个问题
- 连接池并发问题!
- 急。找不出问题所在,经验太少了。
- 能简要说说weblogic.tomcat.apache这三个之间本质的区别吗?100分!再加都可以!
- hibernate3 配置proxool连接池出现问题(大家帮帮我,要不然我下午就要走人了)
- 关于编码,编码自动改变,详细见内!
"from Reader reader,ReaderAndBook readerandbook where reader.readerid = readerandbook.TReader.readerid"
SQL写错了,你只查readerandbook 这一个字段,${readerandbook.readerandbookid}
</td >
<td >
${readerandbook.TReader.readerid} 怎么可能会有值输出?
hibernate里面查询表中所有的字段这样写:
from Reader reader,ReaderAndBook readerandbook where reader.readerid = readerandbook.TReader.readerid
某几个字段才是你上面那样写
Object o = (Object) list.get(i);
System.out.println(o.getClass());
System.out.println(o instanceof ReaderAndBook);
System.out.println(((ReaderAndBook)o).getTReader().getReaderid());
我在action里加上了上面的代码,能得到我要得到的呀。而且在页面上照我那么写的话
<logic:present name="${requestScope.readerAndBooks}" >
<table >
<tr >
<td >
readerandbookid
</td >
<td >
readerid
</td >
</tr >
<logic:iterate id="readerandbook" name="${requestScope.readerAndBooks}" >
<tr >
<td >
${readerandbook.readerandbookid}
</td >
<td >
${readerandbook.TReader.readerid}
</td >
</tr >
</logic:iterate >
</table >
</logic:present >
怎么没有显示呀?????<logic:present name="${requestScope.readerAndBooks}" >
应该能得到吧????加红的部分这么写有错吗???
<logic:iterate id="aqtj" name="aqtjlist">
<td align="center"><bean:write name="aqtj" property="yonghubianhao"/></font></td>
</logic:iterate>
但是我仍然觉得你只查询一个字段,怎么可能会得到整个对象?
能不能说说System.out.println(o instanceof ReaderAndBook);
System.out.println(((ReaderAndBook)o).getTReader().getReaderid());
这里面o instanceof ReaderAndBook和((ReaderAndBook)o).getTReader().getReaderid()是什么意思?
<input type="submit" value="submit" />
<logic:present name="readerAndBooks">
<table>
<tr>
<td>
readerandbookid
</td>
<td>
readerid
</td>
</tr>
<logic:iterate id="readerandbook" name="readerAndBooks">
<tr>
<td>
${readerandbook.readerandbookid}
</td>
<td>
${readerandbook.TReader.readerid}
</td>
</tr>
</logic:iterate>
</table>
</logic:present>
<table border="1">
<tr>
<td width="50" height="10">
<marquee direction="up" scrollamount="6">
<a href="#">123</a>
<br>
<a href="#">321</a>
<br>
<a href="#">132</a>
<br>
<a href="#">213</a>
<br>
<a href="#">312</a>
<br>
</marquee>
</td>
</tr>
</table>
</form>在页面上为什么改成红色部分的那样就可以呀,我原来
<form action="${pageScope.path}query.do" method="post" >
<input type="submit" value="submit" / >
<logic:present name="${requestScope.readerAndBooks}" >
<table >
<tr >
<td >
readerandbookid
</td >
<td >
readerid
</td >
</tr >
<logic:iterate id="readerandbook" name="${requestScope.readerAndBooks}" >
<tr >
<td >
${readerandbook.readerandbookid}
</td >
<td >
${readerandbook.TReader.readerid}
</td >
</tr >
</logic:iterate >
</table >
</logic:present >
</form >
蓝色的部分,这样写为什么不可以呀?