Javascript代码到struts2

标签 javascript struts2

如何使用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/

相关文章:

java - Struts 2 可以处理 isValid() 方法而不是 getValid()

java - 如何使用javascript在另一个jsp中包含一个jsp

javascript - 在图像 css 的右上角显示带有黑色覆盖的图标

java - 关于struts2中的valuestack和stack的一些问题?

java - struts 2's property tag attribute cant resolve value="(新java.text.SimpleDateFormat ("").format())“在struts2版本2.3.32

javascript - ISO 格式的 Chrome 中的日期无效 - 使用 : 2012-11-31 测试

java.util.ArrayList 无法转换为 java.lang.Long hibernate 分离条件

javascript - 两个元素,一个滚动条,都不滚动出平面

javascript - 按百分比定位 Div 元素

javascript - 使用 jQuery 替换文本