p><select size="1" name="D2" onchange="func('name')">
<option>请选择</option>
<%
String name=request.getParameter("D2");
conn.ConnectDestDB();
ResultSet rs5=null;
String sql5 = "select user_name from user_info";
rs5=conn.sm.executeQuery(sql5);
while(rs5.next()){
String user_name=rs5.getString("user_name");
%>
<option value="<%=user_name %>" <%if(user_name.equals(name)){%>selected<%}%>><%=user_name %></option>
<%} %>
</select></p>其中 如果把if(user_name.equals(name)改成if(name.equals(user_name)就会出错
不知道是为什么
<option>请选择</option>
<%
String name=request.getParameter("D2");
conn.ConnectDestDB();
ResultSet rs5=null;
String sql5 = "select user_name from user_info";
rs5=conn.sm.executeQuery(sql5);
while(rs5.next()){
String user_name=rs5.getString("user_name");
%>
<option value="<%=user_name %>" <%if(user_name.equals(name)){%>selected<%}%>><%=user_name %></option>
<%} %>
</select></p>其中 如果把if(user_name.equals(name)改成if(name.equals(user_name)就会出错
不知道是为什么
是空指针?空指针可能就是ls说的
还是不能相等?
不能相等可能就是request.getParameter( "D2 ");
D2后边多了个空格
确保你接到的不是空值,即NULL。可以写一个转换函数,来确保在接到空值的时候也不会出错。该方法支持传递中文不乱码。
public String Str_rep(String str){
if(str==null||str.equals("")){
str ="" ;
}else{
try {
// str = new String(str.getBytes("ISO8859-1"));
str = new String(str.getBytes("ISO8859_1"), "GB2312");
}catch (Exception ex) {}
}
return str ;
}用法如下:
String username=Str_rep(request.getParameter("user_name"));
确保你接到的不是空值,即NULL。 可以写一个转换函数,来确保在接到空值的时候也不会出错。该方法支持传递中文不乱码。
public String Str_rep(String str){
if(str==null ¦ ¦str.equals("")){
str ="" ;
}else{
try {
// str = new String(str.getBytes("ISO8859-1"));
str = new String(str.getBytes("ISO8859_1"), "GB2312");
}catch (Exception ex) {}
}
return str ;
} 用法如下:
String username=Str_rep(request.getParameter("user_name"));
151: String user_name=rs5.getString("user_name");
152: %>
153: <option value="<%=user_name %>" <%if(name.equals(user_name)||user_name.equals(find)){%>selected<%}%>><%=user_name %></option>
154: <%} %>
155: </select></p>
156: </td>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:515)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:426)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause java.lang.NullPointerException
org.apache.jsp.authorize_jsp._jspService(authorize_jsp.java:278)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.10 logs.
不存在是空值的问题 好像单纯就是顺序的问题
String user_name=rs5.getString("user_name");
%>
<option value=" <%=user_name %> " <%if(user_name.equals(name)){%> selected <%}%> > <%=user_name %> </option>
<%} %>
我想是因为String user_name; 是在循环体里吧 如果rs5.next 为NULL user_name 将不存在
所以user.equser(user_name)不对
你可以试试把String user_name=""; 放到循环体上面