将JSP页面用作视图的最有效方法是什么?

时间:2013-07-09 12:38:22

标签: jsp jstl scriplets

向SO的辉煌人民致以热烈的问候,

我是JSP页面的新手。我需要在我的新工作中处理它们,我一直在开发一个示例项目,它只使用JSP页面来存储/检索dB中的数据。我为“检索”视图编写了以下代码,并建议通过互联网查找在JSP页面上编写代码的更有效方法。我做了一些阅读,但我对JSP的功能感到有些困惑和不知所措。

你们这里的好人可以帮助我更好地理解JSP页面,首先帮助我了解如何使我的代码有效,所以我有一个地方可以开始吗?我不知道该在哪里申请!所以我很确定,一旦我知道我自己的代码应该是什么样子,它就会让我更容易应用自己,因为我将拥有我建立的东西,以便将我的理解与之相关联。

我很抱歉,如果这个问题太过于正确,我对发展相对较新。

提前致谢!

代码:

注意:“name”和“id”是从Action类发送的“String”和“Integer”ArrayLists。 (我正在使用Struts-Hibernate集成环境来开发示例应用程序。)

<%

if ((request.getAttribute("id")==null)||(request.getAttribute("name")==null))
{
    out.println("Please Enter the DOB");
}
else
{
    int size = (Integer)request.getAttribute("size"),i=0;
    String[] names = new String[size];
    Integer[] ids = new Integer[size];
    ArrayList<String> name = (ArrayList<String>)request.getAttribute("name");
    ArrayList<String> id = (ArrayList<String>)request.getAttribute("id");

    for (Object o:name)
    {
        names[i++]=(String)o;
    }

    i=0;

    for (Object o:id)
    {
        ids[i++]=(Integer)o;
    }

    for(i=0;i<size;i++)
    { 
%>

ID : <%=ids[i]%><br/>
Name : <%=names[i]%><br/>

<%}}%>

1 个答案:

答案 0 :(得分:0)

嗯,在与我的一位经验丰富的同事交谈后,我找到了答案。在这里发布给任何其他可能登上我的船的初学者:

<table border="5" cellpadding="5" cellspacing="5">
<tr><td>EmpId</td><logic:iterate name="id" id="id">
    <td width="8"><bean:write name="id"/></td>
</logic:iterate></tr>

<tr><td>Name</td><logic:iterate name="name" id="name">
    <td width="8"><bean:write name="name"/></td>
</logic:iterate></tr>
</table>

表格标签用于演示。这里的关键标记是逻辑:迭代标记。它可以帮助您遍历传递给页面的列表。两个独立的逻辑:为每个列表创建迭代标签。

为了使用logic:iterate标记,您只需要在JSP页面的顶部包含以下代码:

<%@taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%>