我有代码:
<%
ResultSet topicResult = DatabaseManager.getTopics(sujectResult.getString("_id"));
out.print("<ul class=\"pages\">");
while (topicResult.next()) {
%>
<li<% String selectedTopic = request.getParameter("topic_id");
try{
if(selectedTopic.equals(topicResult.getString("_id"))){%>
class="selected"
<%}
}catch(NullPointerException e){
}%>
><a href="/programming-iqs/admin-controller?action=manage-content&topic_id=
<%= topicResult.getString("_id")%>">
<%= topicResult.getString("topic_name")%>
</a></li>
<%
}
}
%>
在上面给出的代码中,我可以得到
的值request.getParameter("topic_id");
但是当我尝试同一页面中的代码并且大约在上面一行的20行时:
<%
String topicAttr = request.getParameter("topic_id"); // Here velue is NULL
try{
if (!topicAttr.equals(null)){
ResultSet subjByIdResult = DatabaseManager.getTopicById(topicAttr);
while(subjByIdResult.next()){
out.print(subjByIdResult.getString("topic_name"));
}
}
}catch(NullPointerException e){
}
%>
我永远无法获得实际价值,只有null
。
我搜索并找到this&amp; this here,但无法在我的案例中找到解决方案。
任何人都可以建议我解决这个问题。
答案 0 :(得分:0)
您应该在String变量中存储第一次出现的request.getParameter()
。然后你可以全局使用它。
同时将if
条件更改为
if (!topicAttr.equals==null){}
因为在equals()方法中,您将String
与变量进行比较。