0

每当我提交表单时,我希望从 JSP 调用 java 类方法。我的 JSP 文件将有一个文件标签。用户将从他的本地机器上浏览一个文件。然后点击提交。这个文件对象应该在我将拥有我的业务逻辑的 Java 类中可用。

不使用struts这可能吗?

<s:form action="**direct call to Action method here**" method="post" enctype="multipart/form-data" >
<s:file name="userImage" label="User Image" /><s:submit />

请帮助我解决此问题。

谢谢。

4

1 回答 1

0

action属性的值应该是URL。给定的 URL 指定了在提交表单时应该将表单中的数据发送到的地址。

在您的 jsp 页面中使用以下 html 代码:

<form action="uploadFile" method="post"
                    enctype="multipart/form-data">
<input type="file" name="file" />
<input type="submit" value="Upload file" />

定义负责在文件中加载文件的 servlet 映射web.xml

 <servlet>
    <servlet-name>UploadServlet</servlet-name>
    <servlet-class>package.UploadServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>UploadServlet</servlet-name>
    <url-pattern>/uploadFile</url-pattern>
</servlet-mapping>

并在给定的 servlet 中实现方法 doPost,在该 servlet 中从您的业务逻辑中调用该方法:

protected void doPost(HttpServletRequest request, HttpServletResponse response) {
    yourMethod();
}

action如果您在应用程序中仅使用JSP,则可以在属性中指定任何 JSP 页面:

<form action="upload_file.jsp" method="post" enctype="multipart/form-data">

在这种情况下,此页面将处理上传文件请求。

于 2012-08-09T10:39:27.613 回答