每当我提交表单时,我希望从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 />
请帮我解决这个问题。
感谢。
答案 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">
在这种情况下,此页面将处理上传文件请求。