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:
Kód:
NERASTID NERASTNAZOV
----------------------------------------
2 ankerit
3 magnetit
4 markazit
9 nežiaruvzdorné íly
110 železné rudy
.
.
.
.atd..
combo.jsp:
Kód:
<%@ 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"><br>
<br>
<table border="0" width="400px" align="center" bgcolor="#ffffff">
<div id="mydiv"></div>
<tr>
<td><b>Druh nerastu</b></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><b>Kod:</b></td>
<td> <input type="text" id="nerastid" name="nerastid" value=""></td>
</tr>
</table>
</form>
<table border="0" width="100%" align="center">
<br>
<br>
</table>
</body>
</html>
getuser.jsp
Kód:
<%@ 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();
}
%>