struts2详细参数(struts2 的struts.xml文件怎么配置)

:暂无数据 2026-08-29 07:50:02 0

struts2详细参数(struts2 的struts.xml文件怎么配置)

大家好,如果您还对struts2详细参数不太了解,没有关系,今天就由本站为大家分享struts2详细参数的知识,包括struts2 的struts.xml文件怎么配置的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

本文目录

struts2 的struts.xml文件怎么配置

《!-- include节点是struts2中组件化的方式 可以将每个功能模块独立到一个xml配置文件中 然后用include节点引用 --》
《include file="struts-default.xml"》《/include》
《!-- package提供了将多个Action组织为一个模块的方式
package的名字必须是唯一的 package可以扩展 当一个package扩展自
另一个package时该package会在本身配置的基础上加入扩展的package
的配置 父package必须在子package前配置
name:package名称
extends:继承的父package名称
abstract:设置package的属性为抽象的 抽象的package不能定义action 值true:false
***隐藏网址***
--》
《package name="com.kay.struts2" extends="struts-default" namespace="/test"》
《interceptors》
《!-- 定义拦截器
name:拦截器名称
class:拦截器类路径
--》
《interceptor name="timer" class="com.kay.timer"》《/interceptor》
《interceptor name="logger" class="com.kay.logger"》《/interceptor》
《!-- 定义拦截器栈 --》
《interceptor-stack name="mystack"》
《interceptor-ref name="timer"》《/interceptor-ref》
《interceptor-ref name="logger"》《/interceptor-ref》
《/interceptor-stack》
《/interceptors》

《!-- 定义默认的拦截器 每个Action都会自动引用
如果Action中引用了其它的拦截器 默认的拦截器将无效 --》
《default-interceptor-ref name="mystack"》《/default-interceptor-ref》
《!-- 全局results配置 --》
《global-results》
《result name="input"》/error.jsp《/result》
《/global-results》

《!-- Action配置 一个Action可以被多次映射(只要action配置中的name不同)
name:action名称
class: 对应的类的路径
method: 调用Action中的方法名
--》
《action name="hello" class="com.kay.struts2.Action.LoginAction"》
《!-- 引用拦截器
name:拦截器名称或拦截器栈名称
--》
《interceptor-ref name="timer"》《/interceptor-ref》

《!-- 节点配置
name : result名称 和Action中返回的值相同
type : result类型 不写则选用superpackage的type struts-default.xml中的默认为dispatcher
--》
《result name="success" type="dispatcher"》/talk.jsp《/result》
《!-- 参数设置
name:对应Action中的get/set方法
--》
***隐藏网址***
《/action》
《/package》

请帮我详细解释Struts2的配置文件

《constant name="struts.configuration.xml.reload" value="true"》《/constant》//是说,当你的配置文件改变是,struts自动读取,不需要你重启服务。
《constant name="struts.objectFactory" value="spring"》《/constant》//与spring框架结合使用,你的action对象由spring帮助生成了。
《package name="" extends="struts-default" namespace="/"》//这个struts的包名,继承struts-default,就是这个写,你也不需要多想,name写什么都行
//UsersAction这个类实现了action接口,给这个action起来个名字叫usersAction_*,*的意思是说,usersAction_后面可以跟要执行的方法名,这与method="{1}"相呼应,*的名字,就是{1}的方法名
《action name="usersAction_*" class="UsersAction" method="{1}"》
《result name="success"》/result.jsp《/result》//return “SUCCESS”时的转向路径,注意我的大小写
《result name="input"》/login.jsp《/result》》//return “INPUT”时的转向路径,注意我的大小写
《result name="list"》/list.jsp《/result》》//return “list”时的转向路径,注意我的大小写
《/action》
《/package》

struts2的传递参数问题

可以不写result 在execute 中最后写 result null 就可以了, 在之前用别的方式跳转。
result 返回的是一个字符串。 你所说的返回个数组应该是需要传递给页面数组的意思吧
直接用request.setAttribute(name, o);
就可以了。
然后在页面用标签 或者平时的request.getXXXX的方式接收这个name的值 在进行你要做的操作。

Struts2 标签几个参数的含义

《s:select list="projectlist" listKey="pid" listValue="name" headerKey="0" headerValue="请选择" name="project.pid" size="10px"》《/s:select》
listkey:project的主键
listValue:project的名称
headerKey:首选项的默认值
headerValue:首选项的默认value

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》

关于struts2的传递和接收参数的机制问题求解:越详细越好,加分

这涉及到request参数自动赋予Action的一个机制。
这个机制是拦截器来实现的。
当我们从浏览器发起一个请求(提交表单,或者地址栏直接输入地址),根据J2EE规范规定,应该根据Web.xml的配置,依次经过Filter、Servlet。
而Struts2我们已经配置了核心拦截器(Filter),这个拦截器会根据struts.xml的配置,找到该请求地址所对应的Action。
但是最终运行Action之前,要经过一系列的拦截器,其中就有一个拦截器是专门负责将request参数,通过setter方法设置到Action(根据反射的原理)。
有什么不懂的可以再问,通过百度HI也可以。

struts2 是怎样绑定参数到对象的

1.属性驱动
第一种做法是直接在Action中定义所有需要的属性,然后在JSP中直接用属性名称来提交数据。
LoginAction:
public class LoginAction {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}12345678910111213141516171234567891011121314151617
login.jsp
《body》
《form action="login.action" method="post"》
姓名:《input type="text" name="username"》
密码:《input type="text" name="password"》
《input type="submit" value="提交"》
《/form》
《/body》12345671234567
上述做法不好之处是:如果实体类的属性非常多,那么Action中也要定义相同多的属性。
2.定义一个对象
将User对象定义到LoginAction中,然后在JSP中通过user属性来给user赋值:
public class LoginAction {
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}123456789101112131415123456789101112131415
login.jsp
《body》
《form action="login.action" method="post"》
姓名:《input type="text" name="user.username"》
密码:《input type="text" name="user.password"》
《input type="submit" value="提交"》
《/form》
《/body》12345671234567
这种做法不好的地方是:JSP页面上表单域中的命名变得太长
3.模型驱动
用ModelDriven机制,让LoginAction实现一个ModelDriven接口,同时实现接口中的方法:getModel()。
public class LoginAction implements ModelDriven《User》 {
private User user=new User();
public User getModel() {
return user;
}
}1234567812345678
《body》
《form action="login.action" method="post"》
姓名:《input type="text" name="username"》
密码:《input type="text" name="password"》
《input type="submit" value="提交"》
《/form》
《/body》12345671234567
可见,第三种做法是比较好的,Action和JSP写起来都比较简单。

struts2拦截器获取请求中的参数怎么弄

你自定义的拦截器继承AbstractInterceptor
// action名称
String actionName = aInvocation.getInvocationContext().getName();

// 获取参数
Map parameters = aInvocation.getInvocationContext().getParameters();

Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。

Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。

其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。

虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。

struts2的xml配置文件传递参数

《action name="postArticleAction" class="com.bbs.showAction" method="postArticle"》 《result name="success" type="chain"》articleListAction.action?id=${id}《/result》 《/action》

关于struts2详细参数和struts2 的struts.xml文件怎么配置的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

struts2详细参数(struts2 的struts.xml文件怎么配置)

本文编辑:admin

更多文章:


security的反义词(risk的反义词)

security的反义词(risk的反义词)

大家好,今天小编来为大家解答以下的问题,关于security的反义词,risk的反义词这个很多人还不知道,现在让我们一起来看看吧!

2026年9月22日 15:40

二郎神杨戬简笔画(二郎神怎么画)

二郎神杨戬简笔画(二郎神怎么画)

本篇文章给大家谈谈二郎神杨戬简笔画,以及二郎神怎么画对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年9月22日 10:50

service pack 3(操作系统版本升级(SP) Service Pack 3当中的“Service Pack 3”是什么意思)

service pack 3(操作系统版本升级(SP) Service Pack 3当中的“Service Pack 3”是什么意思)

大家好,关于service pack 3很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于操作系统版本升级(SP) Service Pack 3当中的“Service Pack 3”是什么意思的知识点,相信应该可以解决大家的一

2026年9月22日 10:20

html代码怎么写大佬教程(html网页的题来个大佬,写代码,题目在图上)

html代码怎么写大佬教程(html网页的题来个大佬,写代码,题目在图上)

本篇文章给大家谈谈html代码怎么写大佬教程,以及html网页的题来个大佬,写代码,题目在图上对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年9月22日 10:10

结构体内又一个struct(c++ 在结构体中再嵌入一个结构体如何调用)

结构体内又一个struct(c++ 在结构体中再嵌入一个结构体如何调用)

本篇文章给大家谈谈结构体内又一个struct,以及c++ 在结构体中再嵌入一个结构体如何调用对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年9月22日 09:40

next是什么意思英语(next是什么单词)

next是什么意思英语(next是什么单词)

本篇文章给大家谈谈next是什么意思英语,以及next是什么单词对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年9月22日 07:50

美国参议院人数(美国每个州的议员人数取决于什么)

美国参议院人数(美国每个州的议员人数取决于什么)

大家好,今天小编来为大家解答以下的问题,关于美国参议院人数,美国每个州的议员人数取决于什么这个很多人还不知道,现在让我们一起来看看吧!

2026年9月22日 05:20

高中信息技术python(高考信息技术用的是什么语言)

高中信息技术python(高考信息技术用的是什么语言)

今天给各位分享高考信息技术用的是什么语言的知识,其中也会对高考信息技术用的是什么语言进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年9月22日 02:50

cocos creator中文(cocoscreator和cocoscreator3d的区别)

cocos creator中文(cocoscreator和cocoscreator3d的区别)

各位老铁们好,相信很多人对cocos creator中文都不是特别的了解,因此呢,今天就来为大家分享下关于cocos creator中文以及cocoscreator和cocoscreator3d的区别的问题知识,还望可以帮助大家,解决大家的

2026年9月22日 02:30

二进制转换十进制函数(二进制如何转换成十进制数)

二进制转换十进制函数(二进制如何转换成十进制数)

这篇文章给大家聊聊关于二进制转换十进制函数,以及二进制如何转换成十进制数对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年9月22日 01:30

最近更新

手机网站模板怎么选择最合适?
2026-09-22 17:32:50 浏览:0
好域名注册应该怎么选才不会后悔?
2026-09-22 17:32:19 浏览:0
河南网站建设怎么选择合适的公司?
2026-09-22 17:31:51 浏览:0
热门文章

wait for you杨和苏(大家听下(wait for you)这首英文歌的开头那段音乐)
2026-06-13 16:20:04 浏览:22
刷关键字排名怎么操作最有效?
2026-09-14 20:02:13 浏览:14
oppo a9拆机教程(oppoa9拆机教程)
2026-06-13 10:40:02 浏览:12
标签列表