我有一个jsp页面,我使用多个选项选择值并发送到servlet并尝试存储到数据库中我通过多个选项选择了两个值,错误就像这样.Net 核心Java, java.lang.ArrayIndexOutOfBoundsException:2 ,这是我的jsp代码
<tr>
<td><label>Skills </label> </td>
<td><select name="skills" size="5" multiple="multiple" tabindex="1">
<option value="Android">Android</option>
<option value=".Net">.Net</option>
<option value="Core Java">Core Java</option>
<option value="Advance Java">Advance Java</option>
<option value="Database">Database</option>
<option value="MySQL">MySQL</option>
<option value="Html/CSS">Html/CSS</option>
<option value="PHP">PHP</option>
<option value="TESTING">TESTING</option>
<option value="Networking">Networking</option>
</select>
</td>
</tr>
之后我在servlet中检索这样的值..
String[] skills =request.getParameterValues("skills");
for(p=0;p<skills.length;p++)
{
System.out.println(skills[p]);
}
现在像这样存储到数据库....
int i = st.executeUpdate("insert into empinfo(skills) values (+skills[p] + "')");
if (i > 0) {
}
请帮助我这里的任何人如何使用jsp和servlet存储和检索
这是我的表格结构。
CREATE TABLE IF NOT EXISTS `empinfo` (
`eid` varchar(255) NOT NULL,
`name` varchar(255) DEFAULT NULL,
`password` varchar(255) DEFAULT NULL,
`sex` varchar(50) NOT NULL,
`dob` varchar(255) DEFAULT NULL,
`bloodgroup` varchar(255) DEFAULT NULL,
`fathername` varchar(300) DEFAULT NULL,
`qualification` varchar(255) DEFAULT NULL,
`mailid` varchar(400) DEFAULT NULL,
`contactnum` varchar(200) DEFAULT NULL,
`skills` varchar(1250) NOT NULL,
`temporaryadd` varchar(600) DEFAULT NULL,
`permanentadd` varchar(600) DEFAULT NULL,
`access_type` varchar(150) DEFAULT NULL,
PRIMARY KEY (`eid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
答案 0 :(得分:1)
String[] skills =request.getParameterValues("skills");
String value="";
for(p=0;p<skills.length;p++)
{
value += skills[p]+",";
}
int i = st.executeUpdate("insert into empinfo(skills) values (+value+ "')");
答案 1 :(得分:0)
尝试使用预备语句。
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO TABLE(stringArray) VALUES (?)");
Array a = conn.createArrayOf("skills", arr);
pstmt.setArray(1, arr);
希望这有帮助