使用JSPGen框架实现访问不带后缀名

访问效果

不带后缀名访问地址常见于API接口文件定义,如这样的地址:
http://localhost/api/token.gen
http://localhost/api/token!demo.gen
可以使用
http://localhost/api/token
http://localhost/api/token!demo
进行访问。

Action配置

在 jspgen-action.xml 文件中做如下配置:

<props name="action">
    <prop name="jspgen.devMode">true</prop>
    <prop name="jspgen.action.exteempty">true</prop>
    <prop name="jspgen.result.uri">/WEB-INF/template/</prop>
</props>

默认 jspgen.action.exteempty 值为 false,修改成 true 即可
修改后重启项目容器,就可以实现无扩展名方式访问对应的Action文件了。

地址大小写说明

在 jspgen开发框架下,访问地址大小写对应Action文件说明
假如 jspgen-action.xml 文件中访问控制配置如下:

<actions>
    <action space="/" type="jspgen.action"></action>
    <action space="/api/" type="api.action"></action>
</actions>

则说明

http://localhost/api/token.gen 对应于 /api/action/TokenAction.java
http://localhost/api/token!demo.gen 对应于 /api/action/TokenAction.java文件中的demo方法

以下访问地址对应于同一个Action文件:

http://localhost/api/tokenTest.gen
http://localhost/api/token_test.gen
以上地址均对应于 /api/action/TokenTestAction.java

如果开启了无扩展名式访问,则以下地址也对应于/api/action/TokenTestAction.java文件:

http://localhost/api/tokenTest
http://localhost/api/token_test

以下地址也需要留意,仅仅一个 / 区别,由于配置不一样,匹配的文件路径也不同:

http://localhost/api 对应于 /jspgen/action/apiAction.java文件
http://localhost/api/ 对应于 /api/action/IndexAction.java文件

实现访问不带后缀名方法还有很多,比如采用Web容器实现 http重定向、地址映射也可以达到类似效果,若项目采用的是JSPGen框架,就可以在不修改项目源文件的情况下,实现不带后缀名访问。

更多教程见开发手册:http://help.jspgen.com/jspgen4/

猜你喜欢

转载自blog.51cto.com/jspgen/2495993