Вы получаете ошибку из-за строки ниже:
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
будет иметь необходимое значение.