【问题标题】:Is there way I can show value in textbox in my jsp page even if object is null?即使对象为空,有没有办法在我的jsp页面的文本框中显示值?
【发布时间】:2020-06-12 17:05:55
【问题描述】:

我有鸡和蛋的情况: 我有 2 个 servlet,我希望通过搜索显示 di 对象,而不是通过显示 servlet

问题:

  1. 有没有办法在我的 jsp 页面中显示 refID,即使对象是 空? 目前,在我的代码中,我添加了默认查询只是为了填充“dmsearch”,所以 Jsp 不给 错误(SearchDataManagerController.searchDMData(0, 0, 0);)
  2. 或者任何其他解决方案,所以我的搜索值应该显示即使显示 servlet 已加载?

问题: 在页面加载时,我不一定要显示 refId 数据(servlet 1)。如果它在我单击搜索时显示正常,但它应该显示数据(servlet 2)。它会在文本框中显示搜索到的值,但 Servlet 1 会加载并重置该值。

在jsp中使用“获取”

代码:

<%  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);

请帮忙 谢谢

【问题讨论】:

    标签: java jsp servlets


    【解决方案1】:

    解决方案:

    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】:

      我不确定这是否会对您有所帮助,但是您可以阅读表达式语言,避免在 jsp 页面中使用 java 代码非常有用。 你可以试试这个,但我不确定这是否是你想要的:

      <input type="text" name="refId" id="refId" value ="${ empty di ? 1 : di.getId()}">
      

      【讨论】:

      • 谢谢,我试试
      • 不,它只是将“${ empty di ? 1 : di.getId()}"> 打印到文本框中
      • 我认为 EL 不适合你尝试在你的 jsp 页面顶部添加这个 &lt;%@ page isELIgnored="false" %&gt;
      • 嗯,好的。说得通。让我试试。谢谢
      • 它在 JSP 端搞砸了,我在 servlet 端添加了几乎相同的条件(见答案)。感谢您的帮助
      【解决方案3】:
      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"));
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-05-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多