html - 我正在尝试在 JSP 中将一个月添加到当前月份并在 html 教科书中显示结果
问题描述
这是我的输入框,应该显示一个月的日期。
<div class="form-group">
<label for="datum_uplate">Datum isteka:</label>
<input type="date" class="form-control" id="datum_isteka" name="datum_isteka" >
这是我的 jsp 代码,出于安全原因,我不想使用 javascript。
<%
LocalDateTime.now().plusMonths(1);
int months = int.Parse("datum_isteka".toString());
LocalDateTime newDate = LocalDateTime.now().plusMonths(months);
%>
当我启动我的 tomcat 时,会出现以下情况:
Type Exception Report
Message java.lang.ClassNotFoundException: org.apache.jsp.index_jsp
Description The server encountered an unexpected condition that prevented it from fulfilling the request.
Exception
org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.index_jsp
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:176)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:380)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Root Cause
java.lang.ClassNotFoundException: org.apache.jsp.index_jsp
java.net.URLClassLoader.findClass(URLClassLoader.java:381)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:129)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:60)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:171)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:380)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Note The full stack trace of the root cause is available in the server logs.
解决方案
由于以下行,您会收到错误消息:
int months = int.Parse("datum_isteka".toString());
您使用的语法在Java
.
如果我的想法是正确的,那么您正在尝试获取输入值并希望在 中进行评估jsp
,这是不可能的,因为 jsp 代码将在您可以在浏览器中看到 html 内容之前执行。
如果您不想JavaScript
在代码中使用,那么要获得textbox
您需要提交页面的值,如下所示:
<!-- here I am using post method, coz I dont want users to see the content in the browser -->
<form method="post" action="index.jsp">
<div class="form-group">
<label for="datum_uplate">Datum isteka:</label>
<input type="date" class="form-control" id="datum_isteka" name="datum_isteka" >
<input type="submit" value="Get Months">
</form>
<%
// to get the you use the java code
if (request.getParameter("datum_isteka") != null ) {
LocalDateTime.now().plusMonths(1);
//int months = int.Parse("datum_isteka".toString());
int months = Integer.parseInt(request.getParameter("datum_isteka")); // here you may need to handle empty string, `parseInt` method will throw error if the given value is empty, i.e; `datum_isteka` textbox value.
LocalDateTime newDate = LocalDateTime.now().plusMonths(months);
}
%>
现在newDate
将具有所需的值。
推荐阅读
- node.js - 如何在heroku上运行节点画布?
- reactjs - 为什么即使组件的父标签标记为提供者,useContext 在组件中仍返回 null?
- activemq-artemis - Artemis:服务器停止给出错误,因为网络在健康的网络中不健康
- python-3.x - 过滤多边形内的 GeoPandas 数据框,并从数据框中删除不存在的数据框
- django - 如何在 django adminsite 中显示上传的 PDF 文件
- c# - 在 Visual Studio 的 WPF 应用程序中没有看到“发布 > 创建应用程序包”的任何替代选项
- .net - .NET Framework 4.6 SDK 没有 Docker 映像
- php - WordPress 网站上的 PHP 无法仅在登录页面上创建 cookie
- css - 在单词的开头检测@并在reactjs中的单词周围添加一个跨度
- excel - VBA文本框复制字体样式