struts2的codebehind插件

codebehind plugin是一个可以简化struts2配置的插件,虽然不能实现完全意义上的codebehind,至少已经做的不错了,期待新版本:-D



使用步骤:

1.确保你的应用已经可以使用struts2

2.添加struts2-codebehind-plugin-2.0.11.2.jar包到应用中

3.struts.xml中添加配置:<constant name="struts.codebehind.pathPrefix" value="/jsp/" /> 这里的value值填写jsp页面的根路径

4.<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<init-param>
<param-name>actionPackages</param-name>
<param-value></param-value><!--此时表示无Action类对应的包,多个包间“,”分隔-->
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>


然后就可以使用了,在不使用codebehind插件的时候,一般是这么写的:


<action name="userlist" class="userListAction">
<result>/jsp/userlist.jsp</result>
</action>



使用codebehind插件的话,可以这么写:


<action name="userlist" class="userAction" />



result可以省略了,当然这里有一个约定,返回页面的路径为struts.codebehind.pathPrefix + package namespace + action name + action returntype + .jsp

我这里的环境:

struts.codebehind.pathPrefix = /jsp/

package namespace = /

action name = userlist

action returntype = 为success时,值为空,为其他时,值为"-" + return type



所以返回的页面地址就为 /jsp/userlist.jsp

如果return type为input,地址就为 /jsp/userlist-input.jsp



配合表达式的使用,可以基本实现零配置:


<action name="*" class="{1}Action" />



这样写不仅可以简化配置,而且可以达到规范文件布局的目的。如果有特殊的需要,也完全可以与手写配置文件相结合,用起来已经很方便了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个使用ASP.NET编写的前端界面代码,满足您的需求。请注意,由于这是ASP.NET,因此我们将使用ASPX页面来编写前端界面,而不是使用JavaScript。 ```aspx <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MyPage.aspx.cs" Inherits="MyNamespace.MyPage" %> <!DOCTYPE html> <html> <head runat="server"> <title>My Page</title> <meta charset="utf-8" /> <link rel="stylesheet" type="text/css" href="ext-all.css" /> <script type="text/javascript" src="ext-all.js"></script> </head> <body> <form id="form1" runat="server"> <div> <!-- 顶部大TextField组件 --> <asp:Panel ID="topPanel" runat="server" Width="100%"> <ext:TextField ID="topField" runat="server" FieldLabel="顶部大TextField" Width="100%" Height="100"></ext:TextField> </asp:Panel> <!-- 中间水平两个TextField组件(2行) --> <asp:Panel ID="middlePanel" runat="server" Width="100%"> <ext:Panel ID="middleFields" runat="server" Layout="Table" LayoutConfig='{ "columns": 2, "rows": 2 }'> <Items> <ext:TextField ID="middleField1" runat="server" FieldLabel="中间TextField 1" Width="50%" /> <ext:TextField ID="middleField2" runat="server" FieldLabel="中间TextField 2" Width="50%" /> <ext:TextField ID="middleField3" runat="server" FieldLabel="中间TextField 3" Width="50%" /> <ext:TextField ID="middleField4" runat="server" FieldLabel="中间TextField 4" Width="50%" /> </Items> </ext:Panel> </asp:Panel> <!-- 底部GridPanel --> <asp:Panel ID="bottomPanel" runat="server" Width="100%"> <ext:GridPanel ID="bottomGrid" runat="server" Title="底部GridPanel" Width="100%" Height="300"> <Store> <ext:Store ID="store1" runat="server"> <Model> <ext:Model ID="model1" runat="server"> <Fields> <ext:ModelField Name="name" Type="String" /> <ext:ModelField Name="age" Type="Int" /> <ext:ModelField Name="email" Type="String" /> </Fields> </ext:Model> </Model> <Data> <ext:Record Name="John" Age="25" Email="john@example.com" /> <ext:Record Name="Jane" Age="30" Email="jane@example.com" /> <ext:Record Name="Bob" Age="35" Email="bob@example.com" /> </Data> </ext:Store> </Store> <ColumnModel> <Columns> <ext:Column ID="nameColumn" runat="server" Header="姓名" DataIndex="name" /> <ext:Column ID="ageColumn" runat="server" Header="年龄" DataIndex="age" /> <ext:Column ID="emailColumn" runat="server" Header="邮箱" DataIndex="email" /> </Columns> </ColumnModel> </ext:GridPanel> </asp:Panel> </div> </form> </body> </html> ``` 这段代码会创建一个包含顶部大TextField组件、中间水平两个TextField组件(2行)和底部GridPanel的前端界面。请注意,我们使用了EXT.NET库来创建前端组件。此外,我们使用了ASP.NET的服务器控件来创建包含组件的容器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值