gpt4 book ai didi

uployding File Struts 中的 java.lang.NullPointerException

转载 作者:行者123 更新时间:2023-12-01 04:46:24 26 4
gpt4 key购买 nike

我正在 Eclipse 中使用 Struts 1.3.10,我正在开发一个 Web 应用程序,我正在使用 JSP,嗯,我正在实现一个上传文件的 JSP,但给我带来了问题。我有下一个代码和配置。

<body>
<html:form action="upload" method="post" enctype="multipart/form-data">
<input type="file" name="fichier" />
<tr>
<td><html:submit property="submit" value="Submit"/></td>
<td align="left"><html:reset/></td>
</tr>
</html:form>
</body>

在我的 Form bean 中

public class uploadForm extends ActionForm  {
protected FormFile fichier;
public FormFile getFichier()
{
return fichier;
}

public void setFile(FormFile fichier)
{
this.fichier = fichier;}}

在我的行动中

public class uploadAction extends Action  {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest req,
HttpServletResponse res) throws Exception {

String resultat = null;
FormFile fichier = ((uploadForm) form).getFichier();
String fileName = fichier.getFileName();
System.out.println(fileName);
return mapping.findForward(resultat);
}
}

在我的struts-config中

<form-beans type="org.apache.struts.action.ActionFormBean">
<form-bean name="uploadForm" type="struts.ActionForm.uploadForm" />
</form-beans><action-mappings type="org.apache.struts.action.ActionMapping">

<action path="/fiche" input="/FormulaireFiche.jsp" scope="request"
name="FicheRenseignementForm" type="struts.action.FicheRenseignementAction">
<forward name="succes" path="/personnel_succes.jsp" redirect="false" />
<forward name="echec" path="/FormulaireFiche.jsp" redirect="false" />
</action></action-mappings>

当我运行应用程序并选择文件时,服务器向我发送异常

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.doPost(ActionServlet.java:462)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

因为我

java.lang.NullPointerException
struts.action.uploadAction.execute(uploadAction.java:21)
org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

最佳答案

您遇到了几个问题:

1) 您需要将一个 html 表单绑定(bind)到您的 FormFile 对象(属性),就像这样:

<html:file property="fichier"/>

2) 您的 setter 名称不正确 - 它无法在表单对象中设置值。一定是setFichier(FormFile fichier)

3) property="submit" <html:submit /> 中不需要

开始用这些东西解决错误。

关于uployding File Struts 中的 java.lang.NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15785138/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com