当前位置: 首页 > 知识库问答 >
问题:

瓷砖可以有动作类吗?

方飞鸣
2023-03-14

在 Stuts2 中,我正在使用 Tiles 插件为网站(菜单、页脚、页眉等)创建在每个页面上一致的布局。

现在每个磁贴只是一个静态的超文本标记语言内容。

是否可以通过每次呈现页脚时调用<code>Footer</code>动作类来使平铺更动态?例如:从数据库获取页脚内容。

如果我在应用程序中的每个页面的action类中都这样做,这将导致非常不可用的代码...

所以也许从瓷砖的角度来看是可能的?

共有2个答案

姚乐家
2023-03-14

尝试以下代码:

$('#footer').load('your/action/with/namespace');

我假设您的页脚带有id页脚,每次打开页面时,都会调用您的页脚操作类,并且可以动态获取数据。

谢夜洛
2023-03-14

对于低于2.2.2的tiles版本,只有一种方法可以满足您的要求,那就是使用“准备者”。

然而,这并不是与struts2的集成,而是意味着准备者本身将访问服务层以获取视图所需的内容,并且所有这些内容都需要通过tiles属性进行设置。

对于平铺版本2.2.2和更高版本:您可以在平铺属性中使用OGNL表达式,这可以允许访问一些struts2交互以及静态方法访问。使用静态方法访问,您可以随时调用方法返回字符串。创建这样的字符串与编写脚本相当。

要升级,您需要手动覆盖一些jar以获得平铺2.2.2,或者要获得第三版,您需要实现自己的结果类型:如何将Struts2与平铺3集成。

我实际上并不推荐上述两种方法中的任何一种,建议使用平铺3,但不是作为做像编写脚本这样糟糕的事情的借口。在tile中使用s:action标记可能会更好,如David所述,或者使用Jaiwo99所述的Ajax方法。原因是这两种方法都与struts2保持一致,而我所介绍的方法则不常见,更难维护。我个人倾向于ajax方法。

Struts2 和 struts2-json-plugin 使创建 json 服务变得非常简单。瓷砖是减少样板的一个很好的系统。如果大量使用ajax,两者真的可以相互补充。你可以制作很多可重用的 ajax 组件,只是确保不要对动作的 url 进行硬编码。始终使用 s:url 标记并将其分配给 JS 变量。

 类似资料:
  • 有人能告诉我一种解决以下问题的算法吗: 假设我有一个10*10的瓷砖网格。每个磁贴可以是“满”(玩家不能在上面行走)或“空”(玩家可以在上面行走)。我想遍历并随机填充瓷砖(以创建更有趣的地图),但是我需要所有“空”瓷砖才能访问。下面是一个快速图形: 我们从以下方面着手: 然后仔细检查并填充一些瓷砖: 并删除所有额外的行(仅用于显示): 如您所见,我们现在剩下的地图更有趣,并且可以随机生成(基于我们

  • 我试图使用Struts 2 我在 glassfish 服务器上上传时遇到以下错误: 部署过程中发生错误:加载应用程序时出现异常:java.lang.IllegalState异常:ContainerBase.add子级:开始:org.apache.catalina.生命周期异常:java.lang.NoClassDefFoundError: org/spingframewor /core/io/su

  • 我试图将我的java应用程序迁移到Spring Boot。目前,我正在运行带有Apache Tiles的Spring MVC 3.2。当我迁移到Spring Boot时,我的控制器仍然被称为好的,它们将视图传递给视图解析程序,但是当Tiles去拉JSP文件时,事情就分崩离析了。我得到的错误消息是: 有没有人成功地使用了带有Spring Boot的Apache Tiles?知道怎么做吗? 提前感谢您

  • 我有一个球,我可以在由大小相等的瓷砖组成的地图上移动。玩家应该不能在较暗且有黑色边框的瓷砖上行走。我有一个多维的瓷砖阵列,我用它来检查哪些瓷砖是实心的。 我希望玩家在水平和垂直移动时,可以靠墙滑动。问题是,如果他那样做,他就会固执己见。我设法使它在每个轴上都能完美工作,但是分开的。下面是我的水平碰撞检查代码: level.isBlocked() 方法检查数组的索引是否被实心磁贴占用。i 和 j 变

  • 我找不到struts-tiles2-1.4.0-SNAPSHOT的源代码。jar版本的平铺。jar文件位于http://people.apache.org/~pbenedict/struts-osgi/org/apache/struts/struts-tiles2/1.4.0-SNAPSHOT/location。

  • 我计划使用Spring Boot将MVC应用程序从Spring 3移植到Spring 4。 这个web应用程序使用Apache Tiles。 考虑到百里香叶似乎是Spring的新标准,我有点困惑,并且集成得很好。 在这个应用程序中配置Tiles是一件痛苦的事情。 我们在这个应用程序中有大约20个JSP页面。 问题: 胸腔和瓷砖是相似的概念吗?(模板引擎?) 我已经看到胸腔叶可以和瓷砖一起使用…我不