我想避免在我的jsp页面上使用scriptlet。我有谷歌搜索并在这里搜索,但我无法解决它

时间:2012-05-20 17:29:42

标签: java java-ee struts

我已经阅读了许多帖子,小脚本是一个不好的做法,所以最后我决定避免这一点。我使用struts框架开发了一个项目,其中大多数jsp页面都有java代码。现在我想从我的所有页面中删除该代码。

<%@page import="java.sql.ResultSet"%>
<%@page import="com.pra.sql.SQLC"%>
<%@page import="java.util.ArrayList"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<table align="left" width="346" border="0">
    <tr><td align="center" colspan="3" style="font-size:20px;">Tests We Provide</td></tr>
    <tr>
        <th width="80" height="38" nowrap>Test ID</th>
        <th width="200" nowrap>Test Name</th>
        <th width="144" nowrap>Test Fee</th>
    </tr>
    <%
        String sql = "Select TestID,tname,tfee from addtest order by tname";
        ResultSet rs = SQLC.getData(sql, null);
        while (rs.next()) {
            String testid = rs.getString("TestID");
            String testname = rs.getString("tname");
            String testfee = rs.getString("tfee");
    %>
    <tr>
        <td width="80" height="34" nowrap><%=testid%></td>
        <td width="200" nowrap><%=testname%></td>
        <td width="144" nowrap><%=testfee%></td>
    </tr>  
    <%
        }
    %>
</table>

2 个答案:

答案 0 :(得分:1)

  1. 将JSP与操作相关联,从而将Action类与
  2. 相关联
  3. 使用Java代码执行查询 - 您可以在Action中执行此操作,但我建议将控制权传递给单独的数据访问层
  4. 将查询结果保存到包含结果中每个列的bean类型的列表中
  5. 将列表设置为请求的属性
  6. 使用标签库来循环列表,然后打印输出。

答案 1 :(得分:0)

您可以编写自己的jsp标记,也可以使用JSTL。 JSTL是oracle(原来是sun)提供的标准标记库