Разница между использованием <html: form> и <form>для отправки запросов в Java веб-приложениях - PullRequest
0 голосов
/ 25 марта 2020

Я учусь использовать плитки Struts 1.2 и Apache (я знаю, что они устарели, но по причинам, я должен изучить их устаревшие версии) в java Dynami c веб-проектах с настроенным Maven. I ' Я пытаюсь добавить форму входа в виде выпадающего меню в моем заголовке. jsp файл. Когда я использую приведенный ниже код как отдельный jsp, он прекрасно работает и отправляет информацию об электронной почте и пароле сервлету действий, который вызывает мои действия и классы форм для обработки указанной информации.

<html:form action="<%=request.getContextPath()%>/login-action.do">
        Email: <html:text name="calisanAraForm" property="email"/>
        Password: <html:password name="calisanAraForm" property="password"/>
        <input type="submit" name="job" value="ara" />
</html:form>

Но когда я хочу поместить указанный фрагмент кода в мой заголовок, мой заголовок исчезает с веб-страниц, с которых он вызывается (мой заголовок. jsp в противном случае работает нормально, так как вводится в качестве параметра плиток). Поэтому из-за этого я попытался создать форму входа, используя вместо html: форму или html: текст. Форма выглядит следующим образом:

<form class="login-form" action="<%=request.getContextPath()%>/login-action.do" method="get">
        <input type="text" placeholder="Email" name="email"> 
        <input type="password" placeholder="Password" name="password" > 
        <input type="submit" name="job" value="ara" />
</form>

Когда я использую приведенный выше код, заголовок выглядит нормально. Я ввожу адрес электронной почты и пароль, нажимаю кнопку отправки и получаю ошибку «java .lang.NullPointerException». Полная ошибка ниже:

Сообщение : java .lang.NullPointerException

Описание : сервер обнаружил непредвиденное состояние, которое предотвратило это от выполнения запроса.

Исключение :

javax.servlet.ServletException: java .lang.NullPointerException org. apache .struts.chain.ComposableRequestProcessor.process (ComposableRequestProcessor. java: 286) org. apache .struts.action.ActionServlet.process (ActionServlet. java: 1913) org. apache .struts.action.ActionServlet .doGet (ActionServlet. java: 449) javax.servlet.http.HttpServlet.service (HttpServlet. java: 634) javax.servlet.http.HttpServlet.service (HttpServlet. java: 741) или 1063 * .tomcat.websocket.server.WsFilter.doFilter (WsFilter. java: 52) com.chemorbis.web.tiles.TilesDecorationFilter.doFilter (TilesDecorationFilter. java: 402)

Root Причина :

java .lang.NullPointerException : org. apache .struts.config.Fo rmBeanConfig.createActionForm (FormBeanConfig. java: 289) org. apache .struts.config.FormBeanConfig.createActionForm (FormBeanConfig. java: 357) org. apache .struts.reateFunction.chain.com. CreateActionForm. java: 92) org. apache .struts.chain.commands.ActionCommandBase.execute (ActionCommandBase. java: 51) org. apache .commons.chain.impl.ChainBase.execute (ChainBase. java: 191) org. apache .commons.chain.generi c .LookupCommand.execute (LookupCommand. java: 305) org. apache .commons.chain.impl.ChainBase.execute (ChainBase . java: 191) org. apache .struts.chain.ComposableRequestProcessor.process (ComposableRequestProcessor. java: 283) org. apache .struts.action.ActionServlet.process (ActionServlet. java: 1913 ) org. apache .struts.action.ActionServlet.doGet (ActionServlet. java: 449) javax.servlet.http.HttpServlet.service (HttpServlet. java: 634) javax.servlet.http.HttpServlet.service (HttpServlet. java: 741) org. apache .tomcat.websocket.server.WsFilter.doFilter (WsFilter. java: 52) com.chemorbis.web .tiles.TilesDecorationFilter. Информация, которую я получаю, чтобы написать в этих классах. В чем может быть проблема? Я включу информацию о моем сервлете из Интернета. xml, чтобы посмотреть, пропускаю ли я что-либо.

<servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <init-param>
            <param-name>config</param-name>
            <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>

Шаблон URL такой, когда я нажимаю кнопку отправки:

http://localhost: 8080 / Oyuncak-веб-плитка / login-action.do электронная почта = козырем% 40usa.com и пароль = Mexica & работа = ара

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...