如何拆分两个参数并基于它们创建标签和输入字段
how to split two parameter and create label and input field based on them
我写了一个JSP,有两个参数filter和filter_t。我想用“,”拆分参数,并为每个 filter_t 创建一个标签,并为每个过滤器创建一个输入字段。所以我写了如下代码:
<c:forEach var="splt_t" items="${fn:split(param.filter_t,',')}">
<label>${splt_t}</label>
</c:forEach>
<c:forEach var="splt" items="${fn:split(param.filter,',')}">
<input type="text" name="${splt}" />
</c:forEach>
但在这里它首先创建两个标签,然后创建两个输入字段。如果我想要一个标签和一个输入字段,如何修改代码?我确定这两个参数包含相同数量的“,”。谢谢
这是演示一种解决方案的代码。
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix = "fn" uri = "http://java.sun.com/jsp/jstl/functions" %>
<%
String f = "a,b,c,d";
String t = "1,2,3,4";
pageContext.setAttribute("f", f);
pageContext.setAttribute("t", t);
%>
<c:forEach var="splt_t" items="${fn:split(t,',')}" varStatus="tStatus">
<label>${splt_t}</label>
<c:forEach var="splt" items="${fn:split(f,',')}" varStatus="fStatus">
<c:if test="${tStatus.index == fStatus.index}">
<input type="text" name="${splt}" value="${splt}"/>
</c:if>
</c:forEach>
</c:forEach>
另一个解决方案:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%
String f = "a,b,c,d";
String t = "1,2,3,4";
pageContext.setAttribute("f", f);
pageContext.setAttribute("t", t);
%>
<c:forTokens var="current_t" items="${t}" delims="," varStatus="tStatus">
<label>${current_t}</label>
<c:forTokens var="current" items="${f}" delims="," varStatus="fStatus">
<c:if test="${tStatus.index == fStatus.index}">
<input type="text" name="${current}" value="${current}"/>
</c:if>
</c:forTokens>
</c:forTokens>
我写了一个JSP,有两个参数filter和filter_t。我想用“,”拆分参数,并为每个 filter_t 创建一个标签,并为每个过滤器创建一个输入字段。所以我写了如下代码:
<c:forEach var="splt_t" items="${fn:split(param.filter_t,',')}">
<label>${splt_t}</label>
</c:forEach>
<c:forEach var="splt" items="${fn:split(param.filter,',')}">
<input type="text" name="${splt}" />
</c:forEach>
但在这里它首先创建两个标签,然后创建两个输入字段。如果我想要一个标签和一个输入字段,如何修改代码?我确定这两个参数包含相同数量的“,”。谢谢
这是演示一种解决方案的代码。
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix = "fn" uri = "http://java.sun.com/jsp/jstl/functions" %>
<%
String f = "a,b,c,d";
String t = "1,2,3,4";
pageContext.setAttribute("f", f);
pageContext.setAttribute("t", t);
%>
<c:forEach var="splt_t" items="${fn:split(t,',')}" varStatus="tStatus">
<label>${splt_t}</label>
<c:forEach var="splt" items="${fn:split(f,',')}" varStatus="fStatus">
<c:if test="${tStatus.index == fStatus.index}">
<input type="text" name="${splt}" value="${splt}"/>
</c:if>
</c:forEach>
</c:forEach>
另一个解决方案:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%
String f = "a,b,c,d";
String t = "1,2,3,4";
pageContext.setAttribute("f", f);
pageContext.setAttribute("t", t);
%>
<c:forTokens var="current_t" items="${t}" delims="," varStatus="tStatus">
<label>${current_t}</label>
<c:forTokens var="current" items="${f}" delims="," varStatus="fStatus">
<c:if test="${tStatus.index == fStatus.index}">
<input type="text" name="${current}" value="${current}"/>
</c:if>
</c:forTokens>
</c:forTokens>