>有人知道我怎么能把这条线放进去
吗<security:authentication property="principal.username"/>
value=""
内
<form:input path="contactName" cssClass="form-control"
placeholder="Enter your Contact Name please." value=""/>
如果我像下面显示的代码一样保持它,用户名显示在输入字段下方而不是 (obv( 内。
<form:input path="contactName" cssClass="form-control"
placeholder="Enter your Contact Name please." value=""/>
<security:authentication property="principal.username"/>
非常感谢任何帮助!
关于尼科
你使用百里香叶吗?
如果是,您可以这样做。
添加pom.xml
依赖项:
<!-- https://mvnrepository.com/artifact/org.thymeleaf.extras/thymeleaf-extras-springsecurity5 -->
<dependency>
<groupId>org.thymeleaf.extras</groupId>
<artifactId>thymeleaf-extras-springsecurity5</artifactId>
<version>3.0.4.RELEASE</version>
</dependency>
然后:
<!-->it is necessary<-->
<html xmlns:th="http://www.thymeleaf.org"
xmlns:sec="http://www.thymeleaf.org/extras/spring-security">
<input placeholder="XXX" th:value="${#authentication.getName()}" />
它可以获取用户名,但即使您未登录,它也将返回anonymousUser
。 别担心,这是个小问题,你可以用百里香叶的判断表情。
您可以在以下位置找到更详细的文档: https://www.thymeleaf.org/doc/articles/springsecurity.html
如果这不能解决您的问题,我会跟进。
如果您使用的是标准 Spring-MVC,那么您可以从控制器本身发送用户名。
在控制器文件中,使用主体作为参数。使用 Principal 类的 getName(( 在模型中设置用户名并将其作为 return 语句传递。
public ModelAndView display(Principal principal){
ModelAndView mav = new ModelAndView();
mav.addObject("uname", principal.getName());
return mav;
}
在 JSP 文件中,使用value="${uname}"
:
<form:input path="contactName" cssClass="form-control"
placeholder="Enter your Contact Name please." value="${uname}"/>