1

私のJSPページでは、テーブルコンテンツとして作成されているArrayListのSQLステートメントから値をフェッチしています。このリストの値のセットはになりますurl。この特定のtd要素(urlを持つ要素)をハイパーリンクアクションアイテムに変換するにはどうすればよいですか?

これがjspコードです

<table border="1" id="tableView">
    <thead>
        <th></th><th>ID</th><th>Name</th><th>Description</th><th>Active</th><th>Release Date</th><th>Url</th>
    </thead>

    <tbody>
    <%
    if(max==0)
    {
        %><tr><td></td><td colspan="5" class="viewa"><% out.println("No Records found."); %></td><%
    }
    else
    {

        for(int i=0;i<result.size();i++)
        {
            %><tr><td><input class="tablechkbox" type="radio" name="prodAlertsRad"/></td><%

            List r=new ArrayList();
            r=(List)result.get(i);
            for(int j=0;j<r.size();j++)
            {
                %><td class="viewa"><%out.print(r.get(j));%></td><%
            }
            %></tr><%
        } 
    }
    %>
    </tbody>
</table>

ここでテストできますjsfiddle

4

2 に答える 2

1

コードのこの部分を変更する必要があります。

for(int j=0;j<r.size();j++) 
{
   %><td class="viewa"><%out.print(r.get(j));%></td><%             
}

URLをハイパーリンクとして機能させるには、ur内でアンカータグを使用する必要がありますtdurlまた、リスト内のどこにあるかを正確に知ることも重要rです。あなたの場合、urlは最後のインデックスにあるので、この方法でコードを変更できます-

for(int j=0;j<r.size()-1;j++) //changed to size-1
{
   %><td class="viewa"><%out.print(r.get(j));%></td><%             
}
 %><td class="viewa"><a href="<%out.print(r.get(r.size()-1));%>"><%out.print(r.get(r.size()-1));%></a></td><%

を避けるために、ほとんど処理を行う必要がない場合がありますindexOutOfBoundException。私はそれをするためにあなたに任せます:)

于 2012-07-03T11:03:17.087 に答える
1

これを試して

for(int i=0;i<result.size();i++)
    {
        %><tr><td><input class="tablechkbox" type="radio" name="prodAlertsRad"/></td><%

        List r=new ArrayList();
        r=(List)result.get(i);
        for(int j=0;j<r.size();j++)
        {
            if(j==r.size()-1){%>
        <td class="viewa"><a href="<%out.print(r.get(j));%>"><%out.print(r.get(j));%></a>
    <%}else{
            %><td class="viewa"><%out.print(r.get(j));%></td><%}
        }
        %></tr><%
    } 
于 2012-07-03T11:07:48.423 に答える