基于模型 - 视图 - 控制器(MVC)模式构建Java Web应用程序的框架。它从底层视图技术中提升灵活和分离的代码。
Spring Boot RestClient 作为单例或根据请求创建新实例
查看此处的文档,RestClient 使用的预期模式是自动装配 RestClient.Builder,然后在服务的构造函数方法中构建 RestClient。虽然...
使用 hibernate 和 spring 将字符串集合从持久对象加载到模型中
当我尝试放置从对象中获取的字符串列表时,我已通过休眠从数据库加载,我收到此异常。 org.hibernate.LazyInitializationException:无法初始化...
升级 spring 3.1 时遇到有关 HttpStatusCode 的问题
各位 当我将 spring 2.65 升级到 3.1.0 时,我遇到了一个奇怪的问题。 这是代码: 导入 org.springframework.http.HttpStatus 导入 org.springframework.http.HttpStatus.OK 导入 org.springframe...
Spring Boot 对 favicon.ico 的请求导致访问被拒绝异常
我有一个 Spring Boot 应用程序,它不是一个 Web 应用程序,它只是一个提供数据的 REST API 应用程序。当我从终端或邮递员请求本地主机 URL 时,它工作正常。但是当我向 sa 请求时...
ModelAndView 位于另一个 ModelAndView 中
主页:ModelAndView mav = new ModelAndView("dashboard/layout"); 面板页面:ModelAndView mav = new ModelAndView("dashboard/panel"); 布局.jsp ......</...</desc> <question vote="0"> <p>主页:<pre><code>ModelAndView mav = new ModelAndView("dashboard/layout");</code></pre></p> <p>面板页面:<pre><code>ModelAndView mav = new ModelAndView("dashboard/panel");</code></pre></p> <p><pre><code>layout.jsp</code></pre></p> <pre><code><style>.....</style> <!-- Panel display --> <div class="container row" id="container"></div> <script>.....</script> </code></pre> <p><pre><code>panel.jsp</code></pre></p> <pre><code><c:forEach var="panel" items='${panelData}'> <div class="panel-container col-lg-${panel.size}"> ..samplecontent... </div> </c:forEach> </code></pre> <p>我想在<pre><code>panel.jsp</code></pre>页面中显示面板列表,但需要位于<pre><code>layout.jsp</code></pre>内部,以便从<pre><code>layout.jsp</code></pre>而不是<pre><code>panel.jsp</code></pre></p>获取所有样式和功能 <p>问题出在控制器代码上,即。 <pre><code>ModelAndView mav = new ModelAndView("dashboard/layout");</code></pre> 正在被 mav 取代,它是从 <pre><code>editPanel()</code></pre></p> 返回的 <p>我想加载 <pre><code>"dashboard/layout"</code></pre> 并在其中显示 <pre><code>"dashboard/panel"</code></pre> 以供某些脚本运行</p> <pre><code>@RequestMapping("DashboardController/loadLayout") public ModelAndView loadLayout() { System.out.println("====Inside DashboardController#loadLayout===="); //list of dashboards List<Dashboard> dashboards = dashboardManagerService.findAllActive(); ModelAndView mav = new ModelAndView("dashboard/layout"); Set<Panel> panelData = new HashSet<>(); for (Dashboard dashboard : dashboards) { //panelData from the dashboard panelData.addAll(dashboard.getLayoutPanels()); } if (!panelData.isEmpty()) { System.out.println("inside the else part " + panelData); return editPanel(panelData); } else { System.out.println("inside the if part " + panelData); } return mav; } public ModelAndView editPanel(Set<Panel> panelData) { System.out.println("====Inside DashboardController#editPanel===="); ModelAndView mav = new ModelAndView("dashboard/panel"); mav.addObject("panelData", panelData); mav.setViewName("dashboard/panel"); return mav; } </code></pre> </question> <answer tick="false" vote="0"> <p>将该页面包含在布局页面中</p> <pre><code><div class="container row" id="container"> <%@ include file="panel.jsp"%> </div> </code></pre> <p>并将 panelData 值传递给 mav</p> <pre><code> @RequestMapping("DashboardController/loadLayout") public ModelAndView loadLayout() { System.out.println("====Inside DashboardController#loadLayout===="); List<Dashboard> dashboards = dashboardManagerService.findAllActive(); ModelAndView mav = new ModelAndView("dashboard/layout"); Set<Panel> panelData = new HashSet<>(); for (Dashboard dashboard : dashboards) { panelData.addAll(dashboard.getLayoutPanels()); } if (!panelData.isEmpty()) { System.out.println("inside the else part " + panelData); mav.addObject("panelData", panelData); } return mav; } </code></pre> </answer> </body></html>
Tomcat 在部署 Spring 应用程序时抛出以下错误 2022-10-04 09:23:34.427 信息 [factory.annotation.AutowiredAnnotationBeanPostProcessor] - JSR-330 'javax.inject.Inject' 注释...
spring 身份验证服务器中未显示 openid 范围同意屏幕
我已经配置了我的 spring 身份验证服务器,但 openid 的同意屏幕未显示,但对于其他范围(例如 read),它显示同意屏幕,这是什么原因? 我...
仅当我使用 eclipse 时,我的应用程序前端在使用 intellij 时不会打开
我有一个已迁移到 SpringBoot 的遗留应用程序,当我通过 Eclipse 运行它而不配置任何不同的东西时,它会运行,当我访问我的 http://localhost:8080 时,它会打开正常...
具有单一属性的RequestBody对象spring-boot
语言:Kotlin,Spring 版本:3.2.3 我有一个控制器,它提供一个具有单一属性的对象: @RestController @RequestMapping("") 类测试{ @PostMapping(“卡尔”) ...
我的问题是,有时我们需要在其他服务中使用某个服务,并且它们将对象传递给该服务,但根据该服务,这些对象可能无效, 所以它们必须在我们的服务中得到验证...
我是Spring世界的新手。我正在关注 Spring Microservices in Action,他们建议使用 Spring Initializr 来获取 Spring 依赖项。但是,每当我们需要添加新内容时,请发布该信息
Oauth 2 + Spring Security - 收到 403 禁止错误
我使用 Spring 框架创建了一个简单的 Web 应用程序客户端。我正在使用 OAuth2RestTemplate 调用需要 TLS/SSL 连接的第三方 REST 服务。我已经配置了 Tomcat t...
Spring boot @Inject 代理解析为 null
我正在重构现有应用程序以使用 Spring Boot。我在这里遇到的问题通常是“为什么这不再起作用”类型。 我有三个包裹 - nl.myproject.boot - nl。
当我在的时候。尝试使用 ./mvnw spring-boot:run 运行 spring intializr。它显示错误
[错误] 无法在项目初始化上执行目标 org.springframework.boot:spring-boot-maven-plugin:3.3.2:run (default-cli): 无法找到合适的主类,请添加 ' mainClass 的正确...
我有一个带有接收 WordDto 的后端点的弹簧控制器。另一个获取端点将 WordDtos 列表放入 ModelMap 中并显示一个 jsp 文件。在 jsp 文件中,我显示了...的每个条目
分页无法通过 Oracle11g 在 Spring Boot 中工作
我正在尝试在 Spring boot 应用程序中使用分页并使用 Oracle11g,但它给了我以下错误。 引起原因:org.hibernate.exception.SQLGrammarException:执行 SQL 的 JDBC 异常 [s...
我有一个 thymeleaf 表单,其中有 2 个隐藏字段。我使用 th:value 指定隐藏字段的值,并将这些字段绑定到一个对象。 我有一个 thymeleaf 表单,其中有 2 个隐藏字段。我使用 th:value 指定隐藏字段的值,并将这些字段绑定到一个对象。 <div class="w-row"> <div class="w-col w-col-6"> <div class="question_text_sc"> <p th:text="${questionVO.questionText}" /> <p th:text="${questionVO.questionStem}" /> <p th:text="${sequenceNo}" /> <p th:text="${quizID}" /> </div> </div> <div class="question_stem_sc"></div> <div class="w-col w-col-6"> <div> <div class="w-form"> <form class="w-clearfix" id="email-form" name="email-form" data-name="Email Form" action="#" th:action="@{/quiz/question}" th:object="${userResponseVO}" method="post"> <div th:each="option: ${questionVO.answerOptions}" class="w-radio radio_select" th:id="${'radio_1'}"> <input class="w-radio-input" id="radio" type="radio" name="answer_sc" th:field="*{answerID}" th:value="${option}"/> <label class="w-form-label" id="answer_1" for="radio"><p th:text="${option}" /></label> </div> <input type="hidden" name="sequenceNo" th:field="*{sequenceNo}" th:value="${sequenceNo}" ></input> <input type="hidden" name="quizID" th:field="*{quizID}" th:value="${quizID}"></input> <button class="button submit_answr" type="submit">Next Question</button> </form> 我想将 quizID 和equenceNo 字段与对象中的相应字段绑定。第 6 行和第 7 行正确解析了序列号/测验 id 的值并显示它。但是,表单内的 th:value 标记中未解析相同的值。该值为空,并且没有任何内容绑定到对象字段。 在此请求您的帮助。 编辑: 当我从隐藏元素中删除 th:field 属性时,代码有效。但我想将它绑定到一个对象变量,以便服务器可以处理它。 ` 我们可以通过两种方式解决您的情况 第一种方法: <input type="hidden" th:value="${question.id}" th:attr="name='quizID'" /> 第二种方式: <input type="hidden" th:value="${question.id}" name="quizID" /> 如果您使用 thymeleaf th:field="*{sequenceNo}",thymeleaf 的内部代码的工作方式如下, 它将检查特定元素是否有任何 name 属性(如果可用)th:字段值覆盖名称属性。 名称=“序列号” 它将检查特定元素是否有任何 id 属性,如果它不可用 th:field value 添加的新属性,即)id。 id=“序列号” 对我来说帮助设置th:field(或者实际上是name)使用th:attr th:value="${question.id}" th:attr="name='questionIds[' + ${iter.index} + ']'" 在我的示例中,我想从 ${question} 获取值,但输入中的目标是 questionIDs[i] 在像你这样的简单问题中 name=answerId 应该足够了。 Thymeleaf 似乎无法识别 hidden 字段。要修复它,请尝试以下操作: 将输入定义为文本(而不是隐藏)。 定义类似 "display:none" 的样式标签,以便在屏幕上隐藏元素。 结果应该是这样的: <input type="text" th:field="*{parameters[${stat.index}].field}" style="display:none;"> 希望有帮助。 假设您要收集对某个页面的评论。然后,除了注释之外,您还必须向控制器传输页面名称。当然,用户不必重新输入该页面的名称。该信息必须传递给控制器,但 th:field 仅映射用户输入的值,而不映射默认生成的值。 但您可以将此页面的名称作为 URL 中的参数传递给控制器。 在 html 中,你有类似的东西: <form th:action="@{/saveComment(lastPage=${lastPage})}" th:object="${comments}" method="post" enctype="multipart/form-data"> <div class="row"> ................................................................................. <h2>Enter your comment</h2> <textarea th:field="${comments.comment}" rows="10" cols="100" name="comment" id="comment"></textarea> <label for="comment">Your comment here</label><br /> <input type="submit" name ="submit" value="Submit" /> </div> </form> In controller, you put stuff like this: @PostMapping("/saveComment") public String saveComment(Comments comments, String lastPage) { comments.setPage_commented(lastPage); commentsRepository.save(comments); return "redirect:/"; } 我遇到过这样的情况 <input type="hidden" th:field="*{releaseArtifactDtos[__${itemStat.index}__].fileName}" th:value="${releaseArtifactDto.fileName}" /> 但这并没有 <input type="hidden" th:field="*{releaseArtifactDtos[__${itemStat.index}__].versionName}" th:value="${versionProperty.version.versionName}" 输入值将仅显示为“值”,而不进行赋值。 我可以通过在此之后立即转储该值来证明该值的存在。 <span th:text="${versionProperty.version.versionName}" /> 隐藏输入类型中字段和值的组合似乎有点错误。 最终对我有用的是 <input type="hidden" th:attr="name='releaseArtifactDtos[' + ${itemStat.index} + '].versionName'" th:value="${versionProperty.version.versionName}"
在 Spring 控制器中将所有 @RequestHeader 键值作为 Map 访问
我正在尝试找到一种方法,可以将 @RequestHeader 注释中的所有键值填充到映射中。 我试图用谷歌搜索它,但我所能找到的只是一种将每个键值映射到一个参数的方法。
为什么Spring-MVC将LoadOnStartup设置为1?
我想知道为什么要将此值设置为1。我看了api,它的意思是在这个动态ServletRegistration所代表的Servlet上设置loadOnStartup优先级。为什么是1? 我读了一段代码: 噗...
我在互联网上找不到解决方案,所以也许更多的眼睛可以提供帮助。 我有慈善捐款表格。它使用 thymeleaf 模板引擎。 我使用模式将所需的对象传递给视图...