環境描述:就像你一般在論壇上發表文章,可能帶附件,附件的數量是你手動添加刪除的??!
/************************************************************************
*** 添加審批表單模板
************************************************************************/
// 增長的索引
var itemIndex = 1000;
// 數量
var counter = 0;
// 模板
var itemTemplate = '';
itemTemplate += '<div id="item_#itemIndex#" style="width: 100%;">';
itemTemplate += ' <span style="width: 80px">表單字段</span>';
itemTemplate += ' <input type="text" name="flowFormFieldCfgElement(#itemIndex#).name" style="width: 205px;"/>';
itemTemplate += ' 值類型 <select name="flowFormFieldCfgElement(#itemIndex#).valueType">';
itemTemplate += ' <option value="java.lang.String" selected>字符串</option>';
itemTemplate += ' <option value="java.lang.Integer">數字(整數)</option>';
itemTemplate += ' <option value="java.util.Date">日期(yyyy-MM-dd)</option>';
itemTemplate += ' </select>';
itemTemplate += ' <input type="button" class="btnDelItem" onclick="delItem(#itemIndex#)" value="刪除">';
itemTemplate += '</div>';
// 添加
function addItem() {
var s = itemTemplate.replace(/#itemIndex#/g, itemIndex);
$("#divFormFields").append(s);
itemIndex ++;
counter ++;
}
// 刪除
function delItem(index) {
$("#item_" + index).remove();
counter = counter - 1;
}
public class FlowFormConfigActionForm extends ActionForm {
private int id;
private String name;
private String processName;
private String formFillTemplatePath;
private String formShowTemplatePath;
private Map<String, FlowformFieldConfig> flowFormFieldCfgMap = new TreeMap<String, FlowformFieldConfig>();
/** 表單復雜屬性 */
public FlowformFieldConfig getFlowFormFieldCfgElement(String key){
if(!flowFormFieldCfgMap.containsKey(key)){
flowFormFieldCfgMap.put(key, new FlowformFieldConfig());
}
return flowFormFieldCfgMap.get(key);
}
*U*****
public class FlowformFieldConfig {
private int id;
private String name;
private Class<?> valueType;
主要要原理是:struts1.*在jsp顯示的時候,會先從formbean里通過get***方法拿出屬性的值!!
flowFormFieldCfgElement(#itemIndex#).name 這是核心,如果flowFormFieldCfgElement(#itemIndex#)為空的話,就會出錯,所以在/** 表單復雜屬性 */
public FlowformFieldConfig getFlowFormFieldCfgElement(String key){
if(!flowFormFieldCfgMap.containsKey(key)){
flowFormFieldCfgMap.put(key, new FlowformFieldConfig());
}
return flowFormFieldCfgMap.get(key);
}
做了判斷??!
如果還有不懂的人可以給我留言!!
新聞熱點
疑難解答