`
悲剧了
  • 浏览: 145302 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

struts2 config--browser插件改造

阅读更多
     config--browser插件提供了很不错的功能,当我们用注解的时候,这个功能就显得很重要,查找路径和对应的类与方法能解决非xml的好处

    但当我们项目越来越大,一个namespace下面有好多actionName,这些actionName甚至还相近,本身的查找方式已经无法满足,看看源码,改造一把
想要的结果:每次直接输入全部路径,然后提交
1.给出对应的action全名称--包名+类名 
2.给出对应调用的方法
ps:项目中用到了urlRewriter就不行了

public class ShowAction extends ActionSupport{
	private static final long serialVersionUID = 1L;

	private String url;
	
	protected ConfigurationHelper configHelper;
	
	private   ActionConfig actionConfig;

	@Inject
	public void setConfigurationHelper(ConfigurationHelper cfg) {
	        this.configHelper = cfg;
	  }
	
	public void setUrl(String url) {
		this.url = url;
	}

	@Override
	public String execute() throws Exception {
		if(!StringUtils.isEmpty(url)){
			processUrl();
		}
		return "show";
	}
	
	public ActionConfig getActionConfig() {
		return actionConfig;
	}
	private  void  processUrl(){
		//获取项目的根路径
		HttpServletRequest request=ServletActionContext.getRequest();
		String baseUrl=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath();
		//过滤掉传值路径
		int start=baseUrl.length();
		String path=url.substring(start);
		//取出namespaces actionName
		int end=path.lastIndexOf(".");
		String endStr=path.substring(0,end);
		String actionName=endStr.substring(endStr.lastIndexOf("/")+1,endStr.length());
		String namespace=endStr.substring(0,endStr.lastIndexOf("/"));
		actionConfig=configHelper.getActionConfig(namespace, actionName);
	}
	
}

对应jsp页面只需要去除ationConfig
引用

<%@ page contentType="text/html; charset=utf-8" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
${actionMessages[0]}
${actionErrors[1]}
<form action="../show/show.action">

<input type="text"   name="url"/>
<input type="submit" value="查询">
</form>
${url}查询结果如下:
className-- ${actionConfig.className}<br/>
methodName-- ${actionConfig.methodName}<br/>
</body>
</html>
1
0
分享到:
评论

相关推荐

    struts2-config-browser-plugin-2.3.20.zip

    而"struts2-config-browser-plugin-2.3.20.zip"是一个Struts2框架的插件包,主要用于增强Struts2应用的配置管理能力。这个插件的主要功能是提供一个可视化的配置浏览器,帮助开发者更方便地浏览和管理Struts2应用的...

    struts-2.5.22-all.zip

    3. `struts2-config-browser-plugin.jar`:配置浏览器插件,方便在Web界面查看和编辑Struts2的配置。 4. `struts2-json-plugin.jar`:支持JSON格式的数据交换,适用于RESTful服务。 5. `struts2-spring-plugin.jar`...

    struts-2.3.30-all

    4. `struts2-config-browser-plugin-2.3.30.jar`:配置浏览器插件,允许在浏览器中查看和编辑Struts配置。 5. `struts2-dojo-plugin-2.3.30.jar`:Dojo库的整合插件,用于创建富客户端界面。 6. `struts2-json-...

    struts2-2.3.32 相关jar包

    3. `struts2-config-browser-plugin-2.3.32.jar`:配置浏览器插件,帮助开发者可视化和管理应用配置。 4. `struts2-json-plugin-2.3.32.jar`:JSON插件,支持JSON格式的数据交换。 5. `struts2-dojo-plugin-2.3.32....

    struts2版本 2.1.6 必须的jar包 和 web.xml 文件的修改

    3. **struts2-config-browser-plugin.jar** - 用于在Web应用中浏览器查看Struts配置的插件。 4. **xwork-core.jar** - XWork框架是Struts2的基础,包含了Action、Result、Interceptor等概念的实现。 5. **ognl.jar**...

    struts2-core-lib.rar

    3. `struts2-config-browser-plugin.jar`:此插件提供了一个Web界面,用于浏览和编辑Struts2的应用配置,方便开发者调试和管理配置。 4. `xwork-core.jar`:XWork是Struts2的基础,提供了许多基础的OOP(面向对象...

    struts2开发包全下载

    3. `struts2-config-browser-plugin.jar`:提供了一个Web界面来浏览和编辑Struts2的配置。 4. `struts2-dojo-plugin.jar`:集成Dojo JavaScript库,用于创建富客户端界面。 5. `struts2-json-plugin.jar`:支持JSON...

    struts2 框架的核心jar包(struts-2.3.16版本)

    3. **struts2-config-browser-plugin.jar**:这个插件提供了一个Web界面,用于浏览和编辑Struts2的配置信息,方便开发者进行调试和管理。 4. **struts2-dojo-plugin.jar**:此插件集成Dojo JavaScript库,提供了...

    Struts2-2.1.6一个最简单的例子,以及需要的基础jar包

    3. `struts2-config-browser-plugin-2.1.6.jar` - 用于图形化浏览配置信息。 4. `xwork-core-2.1.6.jar` - XWork框架是Struts2的基础,包含Action和Interceptor的实现。 5. `ognl-2.6.9.jar` - OGNL库,用于表达式...

    struts2.2.3需要11个基本包

    除了这些基本包,开发者可能还需要根据项目需求引入其他扩展包,如Struts2-validation用于表单验证,Struts2-config-browser用于图形化配置文件查看等。在实际开发中,正确地引入和配置这些包对于构建一个稳定且功能...

    struts2.5.13的jar包

    10. **struts2-config-browser-plugin.jar**: 提供一个配置浏览器,方便在开发阶段查看和编辑Struts2的配置。 除了这些,还有其他依赖库如log4j、commons-lang、commons-fileupload等,分别用于日志记录、语言工具...

    struts2-browser.zip_Action!_browser. struts

    "config-browser"很可能是一个专门针对浏览器展示的配置目录,其中可能包含XML配置文件或其他资源,用于设置如何在浏览器中显示和操作Struts2 Action。 "org"目录通常表示这个压缩包包含了一些源代码或类文件,这些...

    struts2的各种jar包(16个)

    3. **struts2-config-browser-plugin.jar**:这个插件用于图形化展示Struts2的配置信息,便于开发者理解和调试配置。 4. **struts2-dojo-plugin.jar**:此插件提供了对Dojo JavaScript库的支持,帮助开发者创建富...

    Struts2.0.11.1所有JAR包

    11. **struts2-config-browser-plugin.jar**(可能):提供了一个Web应用程序来浏览和编辑Struts2的配置。 12. **其他依赖库**:如servlet-api.jar、commons-lang3.jar、log4j.jar等,这些是Struts2运行所需的第三...

    struts-2.5.16升级jar包.zip

    3. **struts2-config-browser-plugin.jar**:用于在Web浏览器中查看和编辑Struts 2的配置。 4. **struts2-json-plugin.jar**:支持JSON格式的数据交换,使得与AJAX和JavaScript更易于交互。 5. **struts2-spring-...

    struts2 2.3.15.3

    11. **struts2-config-browser-plugin**: 提供一个Web界面来浏览和管理Struts2配置。 12. **struts2-junit-plugin**: 用于Struts2应用的单元测试。 13. **commons-logging**: Apache Commons Logging库,提供日志...

    struts-2.5.26-all.zip

    - `struts2-config-browser`:用于图形化查看Struts配置的工具。 - `struts2-dojo-plugin`:与Dojo库集成的插件。 - `struts2-convention-plugin`:自动配置插件,简化XML配置。 - `struts2-spring-plugin`:整合...

    Struts2配置时常用的包

    8. **struts2-config-browser-plugin**:这个插件提供了一个配置浏览器,可以在运行时查看和调试Struts2的配置信息,对于理解和调试配置问题非常有帮助。 在实际配置中,开发者需要根据应用的需求选择合适的包,并...

    最新struts2包

    3. `struts2-config-browser-plugin.jar`:用于在浏览器中查看和编辑Struts2配置的插件。 4. `struts2-json-plugin.jar`:支持JSON格式的输出,方便前后端交互。 5. `freemarker.jar` 或 `ognl.jar`:模板引擎和对象...

    struts2 jar包

    3. **struts2-config-browser-plugin.jar**:提供了一个Web界面,用于浏览和编辑Struts2的配置信息。 4. **struts2-dojo-plugin.jar**:整合了Dojo JavaScript库,便于创建富客户端界面。 5. **struts2-json-...

Global site tag (gtag.js) - Google Analytics