zdravim,
som zaciatocnik v Jave, JSP a ajaxe a snazim sa vytvorit jednoduchy formular s comboboxom, ktory nacita nazvy nerastov z databazy a na zaklade nich potom vypise ich ID. Moj problem spociva v tom, ze ak nacitam nazov bez diakritiky tak sa jeho ID zobrazi spravne. Ak je to vsak s diakritikou, vypise chybu.. Nevie mi s tym prosim niekto pomoct?
Tabulka vyzera takto:
combo.jsp:Code:NERASTID NERASTNAZOV ---------------------------------------- 2 ankerit 3 magnetit 4 markazit 9 nežiaruvzdorné íly 110 železné rudy . . . .atd..
getuser.jspCode:<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%@page import="java.sql.*"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=7" /> <title>podpora</title> <script type="text/javascript"> function showEmp(nerast_value) { if(document.getElementById("nerastid").value!="-1") { xmlHttp=GetXmlHttpObject(); var url="getuser.jsp"; url=url+"?nerastnazov="+nerast_value; xmlHttp.onreadystatechange=stateChanged; xmlHttp.open("GET",url,true); xmlHttp.send(null); } else { alert("Please Select Employee Id"); } } function stateChanged() { document.getElementById("nerastid").value =""; if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { var showdata = xmlHttp.responseText; var strar = showdata.split(":"); if(strar.length==1) { document.getElementById("nerastid").focus(); alert("Please Select Employee Id"); document.getElementById("nerastnazov").value =" "; document.getElementById("nerastid").value =" "; } else if(strar.length>1) { var strname = strar[1]; document.getElementById("nerastid").value= strar[1]; } } } function GetXmlHttpObject() { var xmlHttp=null; try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); } catch (e) { //Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; } </script> </head> <body> <form name="nerasty"> <table border="0" width="400px" align="center" bgcolor="#ffffff"> <div id="mydiv"></div> <tr> <td>Druh nerastu</td> <td><select name="nerasty" onchange="showEmp(this.value);"> <option value="-1">----------Select-----------</option> <% Connection conn = null; int sumcount = 0; Statement st; try { Class.forName("oracle.jdbc.driver.OracleDriver"); conn = DriverManager.getConnection( "jdbc:oracle:thin:@w08:1521:ORCL", "user","pass"); String query = "select * from V_TBL_NERASTY"; st = conn.createStatement(); ResultSet rs = st.executeQuery(query); %> <% while (rs.next()) { %> <option value="<%=rs.getString(2)%>"><%=rs.getString(2)%></option> <% } %> <% } catch (Exception e) { e.printStackTrace(); } %> </select></td> </tr> <td>Kod:</td> <td> <input type="text" id="nerastid" name="nerastid" value=""></td> </tr> </table> </form> <table border="0" width="100%" align="center"> </table> </body> </html>
Code:<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.sql.*"%> <% String nerastnazov = request.getParameter("nerastnazov").toString(); String data = ""; Connection conn = null; int sumcount = 0; Statement st; try { Class.forName("oracle.jdbc.driver.OracleDriver"); conn = DriverManager.getConnection( "jdbc:oracle:thin:@w08:1521:ORCL", "user","pass"); String query = "select * from V_TBL_NERASTY where nerastnazov = '"+nerastnazov+"'"; st = conn.createStatement(); ResultSet rs = st.executeQuery(query); while (rs.next()) { data = ":" + " " + rs.getString(1) + ":"; } out.println(data); } catch (Exception e) { e.printStackTrace(); } %>


Reply With Quote