有什么方法可以在 jsp 页面的文本框中显示值,即使对象为空?
Is there way I can show value in textbox in my jsp page even if object is null?
我有先有鸡还是先有蛋的情况:
我有 2 个 servlet,我希望 di 对象通过搜索显示,而不是通过显示 servlet
问题:
- 有什么方法可以在 jsp 页面中显示 refID,即使对象是
empty? 目前,在我的代码中,我添加了默认查询只是为了填充 "dmsearch" 所以 Jsp 不要给
错误
(SearchDataManagerController.searchDMData(0, 0, 0);)
.
- 或任何其他解决方案,以便我的搜索值应该显示甚至显示 servlet 已加载?
问题:
在页面加载时,我不一定要显示 refId 数据(servlet 1)。如果它在我单击“搜索”时显示正常,但它应该显示数据(servlet 2)。它在文本框中显示搜索到的值,但 Servlet 1 加载并重置该值。
在jsp
中使用"Get"
代码:
<% DataManager di = (DataManager) session.getAttribute("dmsearch"); %>
<input type="text" name="refId" id="refId" value ="<%= di.getiD() %>">
//Servlet display: 1:
DataManager dm;
String buttonClickStatus = request.getParameter("buttonClickStatus");
dm = SearchDataManagerController.searchDMData(0, 0, 0);
session.setAttribute("dmsearch", dm);
//Servlet search: 2:
dm = SearchDataManagerController.searchDMData(driverid, textid, weekid);
session.setAttribute("dmsearch", dm);
请帮忙
谢谢
我不确定这是否对您有帮助,但是您可以阅读表达式语言,它对于避免 jsp 页面中的 java 代码非常有用。
您可以试试这个,但我不确定这是否是您想要的:
<input type="text" name="refId" id="refId" value ="${ empty di ? 1 : di.getId()}">
解决方案:
DataManager dm = new DataManager();
int textid=0;
int driverid=0;
int weekid=0;
if(request.getParameter("textid")!=null) {
textid= Integer.parseInt(request.getParameter("textid"));
}
if(request.getParameter("driverid")!=null) {
driverid= Integer.parseInt(request.getParameter("driverid"));
}
if(request.getParameter("weekid")!=null) {
weekid= Integer.parseInt(request.getParameter("weekid"));
}
Solution:
DataManager dm = new DataManager();
int textid=0;
int driverid=0;
int weekid=0;
if(request.getParameter("textid")!=null) {
textid= Integer.parseInt(request.getParameter("textid"));
}
if(request.getParameter("driverid")!=null) {
driverid= Integer.parseInt(request.getParameter("driverid"));
}
if(request.getParameter("weekid")!=null) {
weekid= Integer.parseInt(request.getParameter("weekid"));
}
我有先有鸡还是先有蛋的情况: 我有 2 个 servlet,我希望 di 对象通过搜索显示,而不是通过显示 servlet
问题:
- 有什么方法可以在 jsp 页面中显示 refID,即使对象是
empty? 目前,在我的代码中,我添加了默认查询只是为了填充 "dmsearch" 所以 Jsp 不要给
错误
(SearchDataManagerController.searchDMData(0, 0, 0);)
. - 或任何其他解决方案,以便我的搜索值应该显示甚至显示 servlet 已加载?
问题: 在页面加载时,我不一定要显示 refId 数据(servlet 1)。如果它在我单击“搜索”时显示正常,但它应该显示数据(servlet 2)。它在文本框中显示搜索到的值,但 Servlet 1 加载并重置该值。
在jsp
中使用"Get"代码:
<% DataManager di = (DataManager) session.getAttribute("dmsearch"); %>
<input type="text" name="refId" id="refId" value ="<%= di.getiD() %>">
//Servlet display: 1:
DataManager dm;
String buttonClickStatus = request.getParameter("buttonClickStatus");
dm = SearchDataManagerController.searchDMData(0, 0, 0);
session.setAttribute("dmsearch", dm);
//Servlet search: 2:
dm = SearchDataManagerController.searchDMData(driverid, textid, weekid);
session.setAttribute("dmsearch", dm);
我不确定这是否对您有帮助,但是您可以阅读表达式语言,它对于避免 jsp 页面中的 java 代码非常有用。 您可以试试这个,但我不确定这是否是您想要的:
<input type="text" name="refId" id="refId" value ="${ empty di ? 1 : di.getId()}">
解决方案:
DataManager dm = new DataManager();
int textid=0;
int driverid=0;
int weekid=0;
if(request.getParameter("textid")!=null) {
textid= Integer.parseInt(request.getParameter("textid"));
}
if(request.getParameter("driverid")!=null) {
driverid= Integer.parseInt(request.getParameter("driverid"));
}
if(request.getParameter("weekid")!=null) {
weekid= Integer.parseInt(request.getParameter("weekid"));
}
Solution:
DataManager dm = new DataManager();
int textid=0;
int driverid=0;
int weekid=0;
if(request.getParameter("textid")!=null) {
textid= Integer.parseInt(request.getParameter("textid"));
}
if(request.getParameter("driverid")!=null) {
driverid= Integer.parseInt(request.getParameter("driverid"));
}
if(request.getParameter("weekid")!=null) {
weekid= Integer.parseInt(request.getParameter("weekid"));
}