泰仔在线

java学习,心情日记,缤纷时刻
posts - 100, comments - 34, trackbacks - 0, articles - 0

List与Iterator的混合使用

Posted on 2006-08-11 17:37 泰仔在线 阅读(1701) 评论(0)  编辑  收藏 所属分类: Java 相关
javaScript:
<Script language="javaScript">
function checkHisID(obj) {
    document.getElementById(
"checkedHis_" + obj.value).value = obj.checked ? obj.value : "";
    document.getElementById(
"unCheckedHis_" + obj.value).value = obj.checked ? "" : obj.value;
}

</Script>

HTML 对checkedHis    unCheckedHis的引用
<logic:equal name="element" property="PRINT_FLAG" value="1" scope="page">
               
<input type="hidden" name="checkedHis" id="checkedHis_<%=hisID%>" value="<%=hisID%>">
               
<input type="hidden" name="unCheckedHis" id="unCheckedHis_<%=hisID%>" value="">
               
<input type=checkbox name="checkedDisplay" id="checkedDisplay_<%=hisID%>" value="<%=hisID%>" onclick="javaScript:checkHisID(this)" checked>
            
</logic:equal>
            
<logic:notEqual name="element" property="PRINT_FLAG" value="1" scope="page">
               
<input type="hidden" name="checkedHis" id="checkedHis_<%=hisID%>"  value="">
               
<input type="hidden" name="unCheckedHis" id="unCheckedHis_<%=hisID%>" value="<%=hisID%>">
               
<input type=checkbox name="checkedDisplay" id="checkedDisplay_<%=hisID%>" value="<%=hisID%>" onclick="javaScript:checkHisID(this)">
            
</logic:notEqual>

XML定义
<form-property name = "checkedHis"     type="java.lang.String[]"/>      
          
<form-property name = "unCheckedHis"     type="java.lang.String[]"/>      

逻辑Bean里获取
/**
     * 将需要打印的项目和不需要打印的项目都存入数据库
     * 
     * 
@throws Exception
     * 
     
*/

    
public void setPrintMark() throws Exception {
        String[] checkedHis 
= (String[]) form.get("checkedHis");
        String[] unCheckedHis 
= (String[]) form.get("unCheckedHis");
        
        List listchecked 
= new ArrayList();
        List listunChecked 
= new ArrayList();
        
        
for (int i = 0; i < checkedHis.length; i++{
            
if (!StringUtil.NVL(checkedHis[i]).equals("")) {
                listchecked.add(StringUtil.NVL(checkedHis[i]));
            }

        }

        
for (int i = 0; i < unCheckedHis.length; i++{
            
if (!StringUtil.NVL(unCheckedHis[i]).equals("")) {
                listunChecked.add(StringUtil.NVL(unCheckedHis[i]));
            }

        }

        setPrintFlag(
'1', listchecked);
        setPrintFlag(
'0', listunChecked);
        form.set(
"checkedHis", (String[])listchecked.toArray(new String[listchecked.size()] ));
        form.set(
"unCheckedHis", (String[])listunChecked.toArray(new String[listunChecked.size()] ));
    }

转换使用
/**
     * 根据对应的 ID 数组,将 PRINT_FLAG 设置为确定的 Flag
     * 
     * 
@param charFlag
     *            '0' 或者 '1'
     * 
@param inStrlist
     * 
@throws Exception
     
*/

    
private void setPrintFlag(char charFlag, List inStrlist) throws Exception {
        
if (inStrlist == null{
            
return;
        }
 else if ((StringUtil.NVL(String.valueOf(inStrlist.size()))).equals("")) {
            
return;
        }
 else {        
            String sql 
= null;
            StringBuffer inStr 
= new StringBuffer();
            Iterator iterator 
= inStrlist.iterator();
            
while(iterator.hasNext()) {
                inStr.append((String)iterator.next());                
                inStr.append(
",");
            }

            
if (inStr.length() > 1{
                inStr.deleteCharAt(inStr.length() 
- 1);
            }

            
try {
                sql 
= "update CHIRASI_PRODUCT_HIS_" + customerCode
                        
+ " set PRINT_FLAG = '" + charFlag + "' where ID in ("
                        
+ inStr + ")";
                ps 
= conn.prepareStatement(sql);
                ps.executeUpdate();
            }
 catch (Exception e) {
                logger.error(e.getMessage());
            }
 finally {
                closeAll(ps, rst);
            }

        }

    }

}

只有注册用户登录后才能发表评论。


网站导航: