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

Thymeleaf-方法中的参数始终为null[重复]

段志
2023-03-14

我是新来的百里香,我有以下问题。我想在html模板内调用一个java方法,但该方法需要一个参数,但问题是,无论我为参数传递什么,结果总是空的。

类别。html:

 <p th:text="${postsCount(1)}"></p>

分类控制器:

    @ModelAttribute("postsCount")
    public int getPostsCountInCategory(Integer categoryId) {
       return categoryService.getPostsCountInCategory(categoryId);
    }

共有2个答案

钱嘉致
2023-03-14

在Thymeleaf中,您不能只调用没有对象引用的方法。您可以这样做:

Java代码:

//Make sure that, this class will be in IOC as bean
@Bean
public class PostCountHelper {
public int postCount(int count) {
//your handling logic goes here & count will have value which you passed
}
}

@Controller
public class PostCountController() {
private PostCountHelper postCountHelper;
public String loadView(Model model) {
model.put("postCountHelperReference", postCountHelper);
}
}

胸腺嘧啶核苷代码:

<p th:text="${postCountHelperReference.postCount(1)}"
沈永贞
2023-03-14

我怀疑问题不在您的代码中,而是在这个注释中:@ModelAtcm("postsCount")-它可能试图通过调用getPostsCountInClass(null)postsCount放到模型上,因为它不知道要提供什么值。

也就是说,您真的不应该在HTML代码中调用数据库方法。不能保证它们只会被调用一次,而且您违反了模型/视图/控制器的分离。您应该将这些值添加到模型中,并将其显示在页面上。

@Controller
public class Controller() {
    @Autowired private PostCounter postCounter;
    
    $Get("category/")
    public String loadView(Model model) {
        model.put("postCounts", postCounter.getPostsCountInCategory(1));
    }
}

在HTML中:

<p th:text="${postsCount}"></p>
 类似资料:
  • 问题内容: 当我使用下面的ajax调用下面的Post方法时,为什么参数总是为null? 这是通过ajax对Web API方法的调用: 问题答案: 基本上,您只能有一个标量类型的参数,该参数用属性装饰,并且您的请求需要使用,并且POST有效负载应如下所示: 请注意,与标准协议相反,缺少参数名称。您仅发送值。 您可以在中阅读有关Web Api中的模型绑定如何工作的更多信息。 但是,当然,这种黑客入侵是

  • 我想使RecycerView具有多种视图类型。如本主题:链接。 我知道这种方法的关键是方法getItemViewType(position:Int):Int{}。

  • 问题内容: [HttpPost] [Route(“/getter/validatecookie”)] public async Task GetRankings([FromBody] string cookie) { int world = 5; ApiGetter getter = new ApiGetter(_config, cookie); if (!await IsValidCookie(

  • 问题内容: 在下面的代码中,输出为 串 如果我使用类型为参数的方法删除该方法,则输出为 目的 我知道当参数类型不完全匹配时方法的重载行为如何,但是我不明白如何将 null 视为和/或参数。 这有什么解释? 问题答案: 根据Java规范 15.12.2.5节,它始终使用最特定的方法。 简介相当具体: 如果多个成员方法既可访问又可应用于方法调用,则必须选择一个成员方法来为运行时方法分派提供描述符。Ja

  • 问题内容: 我正在编写一个C#ASP.Net MVC应用程序,供客户端将文件发布到其他服务器。我正在使用通用处理程序来处理从客户端到服务器的发布文件。但是在我的处理程序中,System.Web.HttpContext.Current.Request.Files始终为空(0个计数)。 表格代码: 处理程序: 请帮我。谢谢。 问题答案: 最后,我发现了问题。 由于某些原因,控制器中的代码永远无法正常工

  • 问题内容: 我使用firefox 3.6.10和firebug进行调试 所以,这是我的代码: responseXML 始终为null,我已经尝试了来自不同域的多个URL。我也异步地尝试过,结果是一样的。该 responseText的 总是正确返回,与它没有任何问题。 我的目标是获取 responseXML.documentElement 。 谢谢你的帮助。 编辑----------- 此javas