struts2 탭 사용법 (1)
import java.util.*;
import com.opensymphony.xwork2.ActionSupport;
public class IteratorTagAction extends ActionSupport {
/**
* iterator
*/
private static final long serialVersionUID = 1L;
private List<String> list2=new ArrayList<String>();
private String citys;
public String getCitys() {
return citys;
}
public void setCitys(String citys) {
this.citys = " | | | | | | | | | ";
}
public List<String> getList2() {
return list2;
}
public void setList2(List<String> list2) {
this.list2 = list2;
}
public List<String> getList() {
return list;
}
public void setList(List<String> list) {
this.list = list;
}
public Map<String, String> getMap() {
return map;
}
public void setMap(Map<String, String> map) {
this.map = map;
}
private List<String> list=new ArrayList<String>();
private Map<String,String> map=new HashMap<String,String>();
@Override
public String execute() throws Exception {
this.setCitys(citys);
list.add("list1");
list.add("list2");
list.add("list3");
list.add("list4");
list.add("list5");
list.add("list6");
list2.add("A");
list2.add("B");
list2.add("C");
list2.add("D");
list2.add("E");
list2.add("F");
list2.add("G");
map.put("key1", "value1");
map.put("key2", "value2");
map.put("key3", "value3");
map.put("key4", "value4");
map.put("key5", "value5");
map.put("key6", "value6");
map.put("key7", "value7");
map.put("key8", "value8");
return SUCCESS;
}
}
jsp 페이지
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'testTag.jsp' starting page</title>
<style type="text/css">
<!--
.STYLE1 {font-size: xx-large}
#style2 {border:2px #0033FF groove;
width:200px; height:300px; float:left; margin-top:10px; margin-left:5; margin-right:3px;overflow:auto}
-->
p{background:#8D93F1;border:2px #0033FF groove;margin:0px; padding:0px;}
.content{ width:700px;}
.odd{background:#C0F8FE}
</style>
</head>
<body>
<h1 style="text-align:center">struts2 (-)</h1>
<div class="content">
<div id="style2">
<p> </p>
<span>if/elseif/else </span><br>
<s:set name="var" value="%{'hello world'}"></s:set><!-- % -->
<s:if test="%{#var=='hello world'}">
<s:property value="%{#var}"/>
</s:if>
<s:elseif test="%{#var=='how do you do'}">
<s:property value="%{#var}"/>
</s:elseif>
<s:else>
</s:else>
</div>
<div id="style2">
<p>iterator </p>
<span> LIst </span><br>
<!--
int getIndex();
int getCount();//
boolean isEven();
boolean isOdd();
boolean isFrist();
boolean isLast();
-->
<s:iterator value="list" status="st">
<s:if test="#st.isOdd()">
<span class="odd"> :<s:property value="#st.getIndex()"/></span><br>
<span class="odd"> :<s:property/></span><br>
</s:if>
<s:else>
<span> :<s:property value="#st.getIndex()"/></span><br>
<span> :<s:property/></span><br>
</s:else>
</s:iterator>
<span> map </span><br>
<s:iterator value="map" status="str2">
<s:if test="#str2.odd==true">
<span class="odd"> :<s:property value="#str2.getIndex()"/></span><br>
<span class="odd"> :<s:property/></span><br>
</s:if>
<s:else>
<span> :<s:property value="#str2.getIndex()"/></span><br>
<span> :<s:property/></span><br>
</s:else>
</s:iterator>
</div>
<div id="style2">
<p>append </p>
<span>append </span><br/>
<s:append id="newList">
<s:param value="list"></s:param>
<s:param value="list2"></s:param>
</s:append>
<s:iterator value="newList" status="st">
<s:if test="#st.isOdd()">
<span class="odd"> :<s:property value="#st.getIndex()"/></span><br>
<span class="odd"> :<s:property/></span><br>
</s:if>
<s:else>
<span> :<s:property value="#st.getIndex()"/></span><br>
<span> :<s:property/></span><br>
</s:else>
</s:iterator>
</div>
<div id="style2">
<p>generator </p>
<span>generator </span><br/>
<s:generator separator="|" val="citys" id="city"></s:generator>
<s:iterator status="st" value="#attr.city">
<s:property value="#st.getIndex()+1"/>
<s:property/><br/>
</s:iterator>
</div>
<div id="style2">
<p>merge </p>
<span>merge </span><br/>
<s:merge id="newList">
<s:param value="list"></s:param>
<s:param value="list2"></s:param>
</s:merge>
<s:iterator value="newList" status="st">
<s:if test="#st.isOdd()">
<span class="odd"> :<s:property value="#st.getIndex()"/></span>|
<span class="odd"> :<s:property/></span><br>
</s:if>
<s:else>
<span> :<s:property value="#st.getIndex()"/></span><br>
<span> :<s:property/></span><br>
</s:else>
</s:iterator>
</div>
<div id="style2">
<p>subset </p>
<span>subset </span><br/>
<s:subset source="list" start="1" count="3">
<s:iterator status="st">
<s:if test="#st.isOdd()">
<span class="odd"> :<s:property value="#st.getIndex()"/></span>|
<span class="odd"> :<s:property/></span><br>
</s:if>
<s:else>
<span> :<s:property value="#st.getIndex()"/></span><br>
<span> :<s:property/></span><br>
</s:else>
</s:iterator>
</s:subset>
</div>
</div>
</body>
</html>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다른 사람의 웹사이트 편집: contenteditable 및 designMode그래도 우리가 그렇게 할 수 있다고 생각하는 것은 멋진 일입니다. 제가 강조하고 싶었던 일종의 관련 API가 실제로 몇 개 있기 때문에 오늘 그것을 가져왔습니다. contenteditable는 "true" 값이 할당...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.