一般用法:
<input id="login-Act" type="text" class="form-control" placeholder="请输入账号"
th:each="cookie :${#httpServletRequest.getCookies()}"
th:if="${cookie.getName().equals('accountNum')}"
th:value="${cookie.getValue()}">
这时如果浏览器不存在该Cookie值,会发现整个input框消失了;我看了一下控制台,发现当找不到Cookie时,整个input标签会被移除掉,这就是input框不见的原因。
所以,如果想动态填充值进输入框,可将遍历的过程放到另一个标签里即可,这样如果Cookie不存在,删除的也只是无伤大雅的标签罢了。
<input id="loginAct" type="text" class="form-control" placeholder="请输入账号">
<span id="initAct" th:each="cookie :${#httpServletRequest.getCookies()}"
th:if="${cookie.getName().equals('accountNum')}"
th:acc="${cookie.getValue()}"></span>
这里用了span标签,acc属性是我们自定义的,用来保存Cookie值。
ps:不建议用id/class保存。
之后在js里获取span的acc属性值,将其填到input标签里即可:
$(function () {
var initAct = $("#initAct").attr("acc");
$("#loginAct").val(initAct);
})