项目中遇到的一个关于字符串拼接,分割,遍历输出的问题,做个简单的记录,以备后用。
首先是增加页面add.jsp
<tr>
<th scope="row" abbr="Model" class="spec"><a style="color: fe8b0f">*</a>商品属性:<input type="button" id="btn" value="增加属性" οnclick="add();"/></th>
<td id="tab_td">
属性名:<input type="text" name="key"/> 属性值:<input type="text" name="value"/><br />
属性名:<input type="text" name="key"/> 属性值:<input type="text" name="value"/><br />
属性名:<input type="text" name="key"/> 属性值:<input type="text" name="value"/><br />
属性名:<input type="text" name="key"/> 属性值:<input type="text" name="value"/><br />
属性名:<input type="text" name="key"/> 属性值:<input type="text" name="value"/><br />
属性名:<input type="text" name="key"/> 属性值:<input type="text" name="value"/><br />
</td>
</tr>
2.js部分
function add() { $('#tab_td').append('属性名:<input type="text" name="key"/> 属性值:<input type="text" name="value"/><br />'); }
3.action
String [] keys= request.getParameterValues("key");
String [] values= request.getParameterValues("value");
String shuxings="";
for (int i = 0; i < keys.length; i++) {
if(!(keys[i].equals("")&&values[i].equals(""))){
String shuxing = keys[i]+","+values[i]+"|";
shuxings+=shuxing;
}
}
m0003.setM0014(shuxings);
4.分割拼接的字符串
//获取属性值
String str =m0003.getM0014();
String[] strs =str.split("\\|",0);
List<M0003Temp> m0003list = new ArrayList<M0003Temp>();
for (int i = 0; i < strs.length; i++) {
String [] shuxings =strs[i].split(",");
M0003Temp m0003Temp = new M0003Temp();
if(shuxings.length>0){
m0003Temp.setKey(shuxings[0]);
}
if(shuxings.length>1){
m0003Temp.setValue(shuxings[1]);
}
m0003list.add(m0003Temp);
}
request.setAttribute("m0003list", m0003list);
5.页面输出
<tr>
<th scope="row" abbr="Model" class="spec"><a style="color:fe8b0f">*</a>商品属性:<input type="button" id="btn" value="增加属性" οnclick="add();"/> </th>
<td id="tab_td">
<c:forEach var="l" items="${m0003list}" varStatus="num">
属性名:<input type="text" name="key" value="${l.key}"/> 属性值:<input type="text" name="value" value="${l.value}" /><br />
</c:forEach>
</td>
</tr>
<tr>
展示