我做STRUTS连接的是ORACLE数据库,我连接是成功的,只是在测试一个一个名字叫做ReadAction的ACTION有问题。中间跳转。下面代码是我做STRUTS时写在display.jsp里面的。JSP是对的。
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'display.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head>
<body>
<c:forEach items="${requestScope['guestbook.display.list']}" var="article">
<c:out value="${article.id}" />
<c:out value="${article.name}"/>
<c:out value="${article.email}"/>
<c:out value="${article.url}"/>
<c:out value="${article.title}"/>
<c:out value="${article.content}"/>
<c:out value="${article.time}"/>
<br><br>
</c:forEach>
</body>
</html>
我本来是想输出我的数据库里内容,我连接ORACLE是成功的,能往里面输入数据。但是我测试read.do就是在浏览器里面输入:http://localhost:8036/guestbook/read.do出现的是${article.id} ${article.name} ${article.email} ${article.url} ${article.title} ${article.content} ${article.time}
不知道是怎么回事?本来是有例子的,我就是按照例子做的,但是例子输出的是数据库的内容。我的就不是,我不知道是不是这个JSP有问题。请各位帮帮忙谢谢了
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'display.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head>
<body>
<c:forEach items="${requestScope['guestbook.display.list']}" var="article">
<c:out value="${article.id}" />
<c:out value="${article.name}"/>
<c:out value="${article.email}"/>
<c:out value="${article.url}"/>
<c:out value="${article.title}"/>
<c:out value="${article.content}"/>
<c:out value="${article.time}"/>
<br><br>
</c:forEach>
</body>
</html>
我本来是想输出我的数据库里内容,我连接ORACLE是成功的,能往里面输入数据。但是我测试read.do就是在浏览器里面输入:http://localhost:8036/guestbook/read.do出现的是${article.id} ${article.name} ${article.email} ${article.url} ${article.title} ${article.content} ${article.time}
不知道是怎么回事?本来是有例子的,我就是按照例子做的,但是例子输出的是数据库的内容。我的就不是,我不知道是不是这个JSP有问题。请各位帮帮忙谢谢了
${article.name}
${article.email}
${article.url}
${article.title}"
${article.content}
${article.time}
<br> <br>
</c:forEach> 这样试下. El 表达试 本身就有了输出的功能. <c:out />也是输出的功能 . 不要重复使用.
<c:out value="article.name"/>
<c:out value="article.email"/>
<c:out value="article.url"/>
<c:out value="article.title"/>
<c:out value="article.content"/>
<c:out value="article.time"/>
<br> <br>
</c:forEach>
<c:forEach items="${requestScope['guestbook.display.list']}" var="article"> //只不过这里,你为什么不在后台就直接用request.setAttribute('article',对象)呢,如果这样的话,这里也不用这么麻烦了,直接用 <c:forEach items="${article}" var="article">就行了; <c:out value="${article.id}" />
<c:out value="${article.name}"/>
<c:out value="${article.email}"/>
<c:out value="${article.url}"/>
<c:out value="${article.title}"/>
<c:out value="${article.content}"/>
<c:out value="${article.time}"/>
<br> <br>
</c:forEach>
${article.id} ${article.name} ${article.email} ${article.url} ${article.title} ${article.content} ${article.time} 原样输出了可以用
<%%>包起来
package com.v512.guestbook.web.action;import java.sql.SQLException;
import java.util.List;import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;
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 com.v512.guestbook.model.Guestbook;/**
* MyEclipse Struts Creation date: 06-03-2008
*
* XDoclet definition:
*
* @struts.action
*/
public class ReadAction extends Action {
/*
* Generated Methods
*/ /**
* Method execute
*
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) { String sql = "select * from guestbook order by id desc"; try {
Context context = new InitialContext();
DataSource ds = (DataSource) context
.lookup("java:/comp/env/jdbc/oracleds");
QueryRunner qr = new QueryRunner(ds);
List list = (List) qr.query(sql, new BeanListHandler(
Guestbook.class));
request.setAttribute("guestbook.display.list",list);
} catch (NamingException e) { e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return mapping.findForward("guestbook.display");
}
}
这个个就是那个ACTION。看来大哥们就应该知道该怎么改了
package com.v512.guestbook.web.action; import java.sql.SQLException;
import java.util.List; import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource; import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;
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 com.v512.guestbook.model.Guestbook; /**
* MyEclipse Struts Creation date: 06-03-2008
*
* XDoclet definition:
*
* @struts.action
*/
public class ReadAction extends Action {
/*
* Generated Methods
*/ /**
* Method execute
*
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) { String sql = "select * from guestbook order by id desc"; try {
Context context = new InitialContext();
DataSource ds = (DataSource) context
.lookup("java:/comp/env/jdbc/oracleds");
QueryRunner qr = new QueryRunner(ds);
List list = (List) qr.query(sql, new BeanListHandler(
Guestbook.class));
request.setAttribute("guestbook.display.list",list);
} catch (NamingException e) { e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return mapping.findForward("guestbook.display");
}
}
这个个就是那个ACTION。看来大哥们就应该知道该怎么改了