如何使用struts2标签库编写以下代码。因为struts2有很多标签,比如iterator、if等,但是下面的代码如何使用它来实现呢?
我们如何初始化struts2标签中的变量,然后如何应用增量或减量操作,如下所示的代码?
int j=-1;
for(int i=0;i<4;i++)
{
j++;
if(j==0)
{
}
if(j==1)
{
}
if(j==2)
{
j=-1;
}
}
这是我的 jsp 页面,我在 scriplet 标签中使用了 java 代码
<h3>Our Latest Projects</h3>
<%! int j = -1; %>
<%
for (int i = 0; i < 4; i++) {
j++;
%>
<% if (j == 0) { %>
<div class="wrapper">
<article class="grid_4 alpha">
<h4 class="p2">Project 1</h4>
<figure><a href="#"><img class="img-border" src="images/page4-img1.jpg" alt=""/></a></figure>
<div class="box" style="height: 20px; width: 257px;">
<div class="padding">
<a href="#">View Details</a>
</div>
</div>
</article>
<% } %>
<% if (j == 1) { %>
<article class="grid_4">
<div class="indent-left4">
<h4 class="p2">Project 2</h4>
<figure><a href="#"><img class="img-border" src="images/page4-img2.jpg" alt=""/></a></figure>
<div class="box" style="height: 20px; width: 257px;">
<div class="padding">
<a href="#">View Details</a>
</div>
</div>
</div>
</article>
<% } %>
<% if (j == 2) { %>
<article class="grid_4 omega">
<div class="indent-left3">
<h4 class="p2">Project 3</h4>
<figure><a href="#"><img class="img-border" src="images/page4-img3.jpg" alt=""/></a></figure>
<div class="box" style="height: 20px; width: 257px;">
<div class="padding">
<a href="#">View Details</a>
</div>
</div>
</div>
</article>
</div>
<br><br>
<% j = -1; %>
<% } %>
<% } %>
最佳答案
真是一场灾难。
这里是除了 article > div
样式之外的所有内容,因为不清楚它与其他任何内容的关系;您应该能够根据此代码的其余部分弄清楚它。
<div class="wrapper">
<s:iterator begin="1" end="#session.count" status="stat">
<s:set var="artClass" value="#stat.first ? 'alpha' : #stat.last ? 'omega' : ''" />
<article class="grid_4 <s:property value="#artClass"/>">
<div> <!-- Not really sure what you want here for the class. -->
<h4 class="p2">Project <s:property value="#stat.count"/></h4>
<figure><a href="#"><img class="img-border" src="images/page4-img<s:property value="#stat.count"/>.jpg" alt=""/></a></figure>
<div class="box" style="height: 20px; width: 257px;">
<div class="padding">
<a href="#">View Details</a>
</div>
</div>
</div>
</article>
</s:iterator>
</div>
此外,如果“alpha”和“omega”用于第一列和最后一列,而不是列表中的第一个/最后一个项目,您可能需要对此进行一些更改。就我个人而言,我会在 Java 代码中将该列表拆分为三个列表,然后进行两次迭代:
<s:iterator value="listOfLists" var="list">
<s:iterator value="list" status="stat">
<s:set var="artClass" value="#stat.first ? 'alpha' : #stat.last ? 'omega' : ''" />
<article class="grid_4 <s:property value="#artClass"/>">
<div> <!-- Not really sure what you want here for the class. -->
<h4 class="p2">Project <s:property value="#stat.count"/></h4>
<figure><a href="#"><img class="img-border" src="images/page4-img<s:property value="#stat.count"/>.jpg" alt=""/></a></figure>
<div class="box" style="height: 20px; width: 257px;">
<div class="padding">
<a href="#">View Details</a>
</div>
</div>
</div>
</article>
</s:iterator>
<br/><br/> <!-- Use CSS. -->
</s:iterator>
您还可以将其封装在自定义标记和实用方法中,并使事情变得非常干净。
关于Javascript代码到struts2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12065385/