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

如何找出模板变量的哪些属性是可调用的

秦伯寅
2023-03-14
public class MyErrorController implements ErrorController {

  @RequestMapping("/error")
  public String handleError(HttpServletRequest request, Model model) {
     model.addAttribute("request", request);

   }
}
Method: <span th:text="${request.method}">method</span><br/>
Method: POST

共有1个答案

长孙鸿波
2023-03-14

在当前版本的Thymeleaf(3.0.9)中,没有特定的实用方法来打印对象的属性。所以不,没有简单的方法。

但是,一种方法是构造自己的方法并使用反射打印它们。当然,我的运行假设是,Java可用的方法也应该对Thymeleaf可用。如果这不是你正在寻找的灵感,你可以修改这个方法。

public static List<Method> toDict(Class aClass) {
    List<Method> methods = new ArrayList<>();
    do {
        Collections.addAll(methods, aClass.getDeclaredMethods()); //using just this would return the declared methods for the class and not any parent classes
        aClass = aClass.getSuperclass();
    } while (aClass != null);
    return methods;
}

然后调用HTML中的静态方法:

<div th:each="field : ${T(com.somedomain.util.SomeUtil).toDict(#request.class)}">
    <span th:text="${field}" th:remove="tag">[field]</span><br>
</div>
 类似资料:
  • 问题内容: 我正在使用Google App Engine和Django模板。 我有一个想要显示对象的表格,如下所示: Django模板是: 现在Django文档指出当它看到一个。在变量中 它尝试几种方法来获取数据,其中之一是字典查找,这正是我想要的,但似乎没有发生… 问题答案: 我找到了一种在内部获取变量的“更好”的解决方案,虽然不是最好的方法,但是它可以工作。 你将自定义过滤器安装到Django

  • 问题内容: 我根本不确定这是否是可以解决的问题,但是假设我有一个freemarker模板,我想问一下该模板使用了哪些变量。 就我的目的而言,我们可以假设freemarker模板非常简单- 只是“根级别”条目(此类模板的模型可以是简单的Map)。换句话说,我不需要处理要求嵌套结构等的模板。 问题答案: 我有相同的任务要从Java端的模板获取变量列表,除了使用反射之外,没有找到任何好的方法。我不确定是

  • 本文向大家介绍可以改变页面布局的属性有哪些?相关面试题,主要包含被问及可以改变页面布局的属性有哪些?时的应答技巧和注意事项,需要的朋友参考一下 属性—position top right bottom left 属性—z-index 属性—text-align text-valign line-height 属性—display visibility 属性—overflow 属性—float cl

  • 问题内容: 我注意到有些属性是在CSS中继承的,而有些则不是。例如,text-size属性是继承的,但是padding和margin不被子块继承。那么如何确定哪些属性是继承的,哪些不是? 问题答案: 这是所有可继承属性的列表。我正在使用W3C的信息,所以我认为它 应该 是正确的。但是了解网络浏览器(特别是IE)后,其中一些可能并非所有浏览器都可以继承:

  • 问题内容: 用户可以控制的任何变量,攻击者也可以控制,因此是攻击的源头。这称为“污染”变量,并且不安全。 使用时,可以控制许多变量。,,,和许多其它的是由客户端发送的HTTP请求报头的一部分。 有人知道“安全列表”或变量列表吗? 问题答案: 就没有这样的“安全”或“不安全”值。只有服务器控制的值和用户控制的值,您需要知道值的来源,因此是否可以出于特定目的信任该值。例如,将其存储在数据库中是完全安全

  • 我想测试,为此,我需要模拟调用。为此,我尝试了以下方法,但没有成功: 仍然在调用真正的而不是返回模拟响应。 如何使用Mockito模拟对的调用?