在JSP表单上调用java类方法提交并传递File对象参数

时间:2012-08-09 09:51:07

标签: java jsp

每当我提交表单时,我希望从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 />

请帮我解决这个问题。

感谢。

1 个答案:

答案 0 :(得分:0)

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

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

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

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

 <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();
}

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

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

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