数据库设计:
主键1、主键2、主键3、组件类型(如dropdown)、初始值(如0)、步长(如10)、最大值(如100)、组件名1、组件名2
所有的组件都是 <select>,用的是struts标签,所以就嵌套了3个list,现在能让它在画面上生成组件,里面的options也正确,但select的value取到了,却显示不了。现在的最主要的难点就是不能写js来做判断了,有什么方法能解决吗?
附生成嵌套list的代码:
Java code
public ArrayList getparam() throws AppLevelException {
DBConnect dbcon = new DBConnect();
PreparedStatement psmt = null;
String strSql1 = "";
ResultSet rs1 = null;
strSql1 = "select * from sysinfo_set_tbl group by typeinfo_no";
try {
ArrayList list1 = new ArrayList();
dbcon.getDBConnectInfo();
psmt = dbcon.getPreparedState(strSql1);
rs1 = psmt.executeQuery();
while(rs1.next()){
TypeName typename = new TypeName();
typename.setType_name(rs1.getString("type_name"));
String strSql2 = "";
ResultSet rs2 = null;
strSql2 = "select * from sysinfo_set_tbl where typeinfo_no="+rs1.getShort("typeinfo_no")+" group by serial_no";
ArrayList list2 = new ArrayList();
psmt = dbcon.getPreparedState(strSql2);
rs2 = psmt.executeQuery();
while(rs2.next()){
TypeTxt typetxt = new TypeTxt();
typetxt.setType_txt(rs2.getString("type_txt"));
String strSql3 = "";
ResultSet rs3 = null;
strSql3 = "select * from sysinfo_set_tbl where typeinfo_no="+rs1.getShort("typeinfo_no")+" and serial_no="+rs2.getString("serial_no");
ArrayList list3 = new ArrayList();
psmt = dbcon.getPreparedState(strSql3);
rs3 = psmt.executeQuery();
while(rs3.next()){
SystemParam systemparam = new SystemParam();
systemparam.setSerial_detail_no(rs3.getString("serial_detail_no"));
systemparam.setSerial_no(rs3.getString("serial_no"));
systemparam.setType(rs3.getString("type"));
systemparam.setType_name(rs3.getString("type_name"));
systemparam.setType_txt(rs3.getString("type_txt"));
if(rs3.getString("type_val1").length()<=4){
systemparam.setType_val1(String.valueOf(Integer.parseInt(rs3.getString("type_val1"))));
}else{
systemparam.setType_val1(rs3.getString("type_val1"));
}
systemparam.setType_val2(rs3.getString("type_val2"));
systemparam.setType_val3(rs3.getString("type_val3"));
systemparam.setType_val4(rs3.getString("type_val4"));
systemparam.setType_val5(rs3.getString("type_val5"));
systemparam.setTypeinfo_no(rs3.getString("typeinfo_no"));
ArrayList list4 = new ArrayList();
if(rs3.getString("type_val3")!=null){
for(int i=Integer.parseInt(rs3.getString("type_val4"));i<=Integer.parseInt(rs3.getString("type_val5"));i+=Integer.parseInt(rs3.getString("type_val3"))){
Values values = new Values();
values.setDates(i);
list4.add(values);
}
}
systemparam.setValues(list4);
list3.add(systemparam);
}
typetxt.setSystemparam(list3);
list2.add(typetxt);
}
typename.setTypetxt(list2);
list1.add(typename);
}
return list1;
} catch (SQLException e) {
throw new SysLevelException("DB異常", e);
} catch (Exception e) {
throw new AppLevelException(e);
} finally {
}
}
主键1、主键2、主键3、组件类型(如dropdown)、初始值(如0)、步长(如10)、最大值(如100)、组件名1、组件名2
所有的组件都是 <select>,用的是struts标签,所以就嵌套了3个list,现在能让它在画面上生成组件,里面的options也正确,但select的value取到了,却显示不了。现在的最主要的难点就是不能写js来做判断了,有什么方法能解决吗?
附生成嵌套list的代码:
Java code
public ArrayList getparam() throws AppLevelException {
DBConnect dbcon = new DBConnect();
PreparedStatement psmt = null;
String strSql1 = "";
ResultSet rs1 = null;
strSql1 = "select * from sysinfo_set_tbl group by typeinfo_no";
try {
ArrayList list1 = new ArrayList();
dbcon.getDBConnectInfo();
psmt = dbcon.getPreparedState(strSql1);
rs1 = psmt.executeQuery();
while(rs1.next()){
TypeName typename = new TypeName();
typename.setType_name(rs1.getString("type_name"));
String strSql2 = "";
ResultSet rs2 = null;
strSql2 = "select * from sysinfo_set_tbl where typeinfo_no="+rs1.getShort("typeinfo_no")+" group by serial_no";
ArrayList list2 = new ArrayList();
psmt = dbcon.getPreparedState(strSql2);
rs2 = psmt.executeQuery();
while(rs2.next()){
TypeTxt typetxt = new TypeTxt();
typetxt.setType_txt(rs2.getString("type_txt"));
String strSql3 = "";
ResultSet rs3 = null;
strSql3 = "select * from sysinfo_set_tbl where typeinfo_no="+rs1.getShort("typeinfo_no")+" and serial_no="+rs2.getString("serial_no");
ArrayList list3 = new ArrayList();
psmt = dbcon.getPreparedState(strSql3);
rs3 = psmt.executeQuery();
while(rs3.next()){
SystemParam systemparam = new SystemParam();
systemparam.setSerial_detail_no(rs3.getString("serial_detail_no"));
systemparam.setSerial_no(rs3.getString("serial_no"));
systemparam.setType(rs3.getString("type"));
systemparam.setType_name(rs3.getString("type_name"));
systemparam.setType_txt(rs3.getString("type_txt"));
if(rs3.getString("type_val1").length()<=4){
systemparam.setType_val1(String.valueOf(Integer.parseInt(rs3.getString("type_val1"))));
}else{
systemparam.setType_val1(rs3.getString("type_val1"));
}
systemparam.setType_val2(rs3.getString("type_val2"));
systemparam.setType_val3(rs3.getString("type_val3"));
systemparam.setType_val4(rs3.getString("type_val4"));
systemparam.setType_val5(rs3.getString("type_val5"));
systemparam.setTypeinfo_no(rs3.getString("typeinfo_no"));
ArrayList list4 = new ArrayList();
if(rs3.getString("type_val3")!=null){
for(int i=Integer.parseInt(rs3.getString("type_val4"));i<=Integer.parseInt(rs3.getString("type_val5"));i+=Integer.parseInt(rs3.getString("type_val3"))){
Values values = new Values();
values.setDates(i);
list4.add(values);
}
}
systemparam.setValues(list4);
list3.add(systemparam);
}
typetxt.setSystemparam(list3);
list2.add(typetxt);
}
typename.setTypetxt(list2);
list1.add(typename);
}
return list1;
} catch (SQLException e) {
throw new SysLevelException("DB異常", e);
} catch (Exception e) {
throw new AppLevelException(e);
} finally {
}
}
<span class="text_bb1"><bean:write name="typetxt" property="type_txt"/></span>
<logic:iterate id="systemparam" name="typetxt" property="systemparam" indexId="index3">
<logic:equal value="dropdown" name="systemparam" property="type_val2">
<html:select property="type_val1" name="systemparam" value="<bean:write name='systemparam' property='type_val1'/>">
<logic:iterate id="values" name="systemparam" property="values" indexId="index4">
<option value="<bean:write name='values' property='dates'/>"><bean:write name="values" property="dates"/></option>
</logic:iterate>
</html:select>
</logic:equal>
<logic:equal value="Cdropdown" name="systemparam" property="type_val2">
<input type=text name=re_name id="re_name" style="width:100px;height:20px;font-size:10pt;"><span style="width:18px;border:0px solid red;">
<html:select property="type_val1" style="margin-left:-100px;width:118px; background-color:#FFEEEE;" name="systemparam" onchange="document.all.re_name.value=this.options[this.selectedIndex].text;">
<option value="<bean:write name='systemparam' property='type_val1'/>"><bean:write name="systemparam" property="type_val1"/></option>
</html:select>
</span>
</logic:equal>
<logic:equal value="1" name="systemparam" property="type">
時
</logic:equal>
<logic:equal value="2" name="systemparam" property="type">
分
</logic:equal>
<logic:equal value="3" name="systemparam" property="type">
M
</logic:equal>
<logic:equal value="4" name="systemparam" property="type">
</logic:equal>
</logic:iterate>
<br/>
</logic:iterate>
</td>
</tr>
</logic:iterate>