struts2怎么接收上传文件

struts2怎么接收上传文件,第1张

新建Web Project,在WebRoot下新建upload文件夹

在WebRoot下新建upload.jsp,上传界面

编写上传成功、失败的提示界面。

在WebRoot下新建uploadError.jsp

在WebRoot下新建 uploadSuccess.jsp

编写Action类

配置struts.xml文件,重置fileUpload拦截器。

7

测试,测试完成之后在tomcat下面webapps目录下找到项目对应的文件夹下的upload下查看

<s:form action="student_action" method="post">这句话里的

action属性的值,要根据Struts2的配置文件struts.xml里的设置来定:

比如struts.xml里是这样的:

...

<action name="student_action123" value="student_action"/>

...

那么页面里就应该写(假设是struts缺省包和默认命名空间):

<s:form action="student_action123.action" method="post">

也就是说,提交表单时的目标是配置文件中action的name属性决定的。

加不加.action后缀,可以看struts.xml里的配置常数

<constant name="struts.action.extension" value=",action"/>

来定,如这个设置就是加不加后缀都可以(好像是struts2的高版本都默认可以不加后缀)。

Struts2的核心是FilterDispatcher,它会处理我们的请求,不用考虑太多,它使用了代理模式,action里面接收form里面的值,记得form与action里面的OO对象一致,或者采用对象.属性方式进行代码编写 form代码: 1. <form action="resgist" method="post">账号:<input type="text" name="username" />

工号:<input type="text" name="userpassword"/>

<input type="submit" value=" 注 册 " />

</form>2. <form action="resgist" method="post">账号:<input type="text" name="user.name" />

工号:<input type="text" name="user.password"/>

<input type="submit" value=" 注 册 " />

</form>action代码:1. private String username//username对象,与form一致

private String userpassword//userpassword对象与form一致

public String getUsername() {

return username

} /**

* @param username the username to set

*/

public void setUsername(String username) {

this.username = username

} /**

* @return the userpassword

*/

public String getUserpassword() {

return userpassword

} /**

* @param userpassword the userpassword to set

*/

public void setUserpassword(String userpassword) {

this.userpassword = userpassword

}2.User实体类里面有name、password属性private User user//user对象,与form一致

/**

* @return the user

*/

public User getUser() {

return user

} /**

* @param user the user to set

*/

public void setUser(User user) {

this.user = user

} 3.获取表单值存入session:if("admin".equalsIgnoreCase(user.getName().trim()&&"123456".equals(user.getPassword))){ActionContext.getContext().getSession().put("admin", user.getName())} 其他更详细的请阅读《Struts2权威指南》或者《WebWork in Action》


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/7992152.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存