在jsp页面通过jstl标签的forEach循环标签获得后台数据,传到js中,通过jquery的each方法和click事件获得数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在jsp页面通过jstl标签的forEach循环标签获得后台数据,传到js中,通过jquery的each方法和click事件获得数据相关的知识,希望对你有一定的参考价值。

在jsp页面通过jstl标签的forEach循环标签获得后台数据

<ul id="navmenu-v">

<c:forEach var="aditem" items="$aditemList" >

<li>

<a href="#" class="$aditem.linkurl" title="$aditem.linkopentype>

$aditem.aditemname</a></li>

</c:forEach>

</ul>

在页面会显示有超链接的列表项

我要的功能是点击$aditem.aditemname链接后,会把$aditem.linkurl和$aditem.linkopentype值传到js中,在js中获得对应的$aditem.linkurl和$aditem.linkopentype的值,功能我也实现 了,我是这么做的:

<script type="text/javascript">

$('a').each( function() $(this) .click( function()

var linkUrl = $(this).attr("class");

var linkCntType = $(this) .attr("title");

alert(linkUrl?);

alert(linkCntType);?

)

);

</script>

当点击某个一个链接后,会获得该链接对应linkUrl和linkCntType的值,其中值的命名在标签中我是用 class="$aditem.linkurl" title="$aditem.linkopentype,假如我想获得更多的值,那我该怎么命名呢?写一个id="$"?还有其他的呢?我一直感觉用id,class等等命名不太规范,有没有自定义的命名?又或者有牛人知道更好的方法来实现这个功能,希望有人能帮我解答下.
一楼和二楼的朋友说用隐藏域我也知道这个,但是我现在要实现的功能是点击某个链接获得该链接下对应的值,而不是点击某个链接获得所有值,是一对一,
其实功能我已经实现了,我麻烦各位看看我这么做规范不规范,给点意见,希望能仔细看完我提的问题,谢谢了

可以自定义属性的,比如
<input name="templateId" id="templateId" type="checkbox"
onclick="unselectall()" st="$template.statusVer"
value="$template.idVer" bj="$template.id " mng="true"
del="del" />
这个隐藏的input就存放了很多template的属性,其他就不用多说了吧?
参考技术A 什么是你想获得更多的值? 参考技术B 隐藏域

如何在 JSP 页面的脚本标签中使用 <c:forEach>?

【中文标题】如何在 JSP 页面的脚本标签中使用 <c:forEach>?【英文标题】:how to Use <c:forEach> in scripts tag on JSP page? 【发布时间】:2013-09-01 09:59:51 【问题描述】:

你好,jsp页面中如何在标签中使用循环?

我想用JSTL数据传入数据表

我的代码是这样的:

        $(document).ready(function() 


            /* Init DataTables */
            var startString = "[";
            var mainString = "";
            var endString = "]";


            var temp = $k.size();
        <c:forEach items="$k" var="stdn" varStatus="status">
            temp--;
            if (temp === 0) 
                mainString = mainString + "key:\"" + "$stdn.key" + "\",name:\"" + "$stdn.value.name" + "\",rollno:\"" + "$stdn.value.rollNo" + "\",marks:\"" + "$stdn.value.marks" + "\"";
             else 
                mainString = mainString + "key:\"" + "$stdn.key" + "\",name:\"" + "$stdn.value.name" + "\",rollno:\"" + "$stdn.value.rollNo" + "\",marks:\"" + "$stdn.value.marks" + "\",";
            
        </c:forEach>
                var finalString = startString + mainString + endString;
                var final = eval(finalString);

【问题讨论】:

【参考方案1】:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title><c:forEach>YOUR CODE </title>
</head>
<body>
<c:forEach var="i" begin="1" end="5">
   NAME <c:out value="$i"/><p>
</c:forEach>
</body>
</html>

这将产生以下结果:

NAME 1
NAME 2
NAME 3
NAME 4
NAME 5

以上是最简单的例子.. 以下是项目 var

<table>
      <c:forEach var="student" items="$person.person" varStatus="counter">
        <c:choose>
          <c:when test="$counter.count % 2 == 0">
            <c:set var="rowStyle" scope="page" value="odd"/>
          </c:when>
          <c:otherwise>
            <c:set var="rowStyle" scope="page" value="even"/>
          </c:otherwise>
        </c:choose>
        <tr class="ÃÂ$rowStyle">
          <td>$student.name</td>
          <td>$student.age</td>
          <td>$student.height</td>
        </tr>
      </c:forEach>
    </table>

这样你就可以使用&lt;c:forEach&gt; &lt;/c:forEach&gt; TAG..

如果您有任何具体问题,请解释

【讨论】:

它工作正常,但问题是它在 netBeans 中显示错误标记。 我在那个 所以如果你的目标是通过把它放在表中实现的,那么问题是什么?它可能是 netbeans 编辑器问题 有时它在编辑器中显示错误..但这实际上仅限于编辑器...不是一个真正的错误..在带有一些 js 文件的 eclipse 编辑器中遇到了这个问题

以上是关于在jsp页面通过jstl标签的forEach循环标签获得后台数据,传到js中,通过jquery的each方法和click事件获得数据的主要内容,如果未能解决你的问题,请参考以下文章

jsp页面怎么判断foreach循环了几次,或者说怎么判断list循环到下标几?

如何使用 JSTL forEach 循环检索 HashMap [重复]

如何在 JSP 页面的脚本标签中使用 <c:forEach>?

JSTL--JSTL表达式:c:forEach,varstatus/begin end/循环控制标签--drp215

jstl表达式的foreach标签只执行循环不显示取出的值

JSTL ---[什么是JSTL,JSTL标签]