如何使用Java或wicket更改标签的HTML输入类型
我想知道如何将密码字段的输入类型从“Password”更改为“text”,从而使密码不再显示为星号。我在项目中使用Java和wicket
<div class="loginPassword">
<label for="password"><wicket:message key="login.password"/></label>
<input class="ft_login_password" wicket:id="password" type="password" name="password" />
</div>
密码字段在我的Java代码中设置为PasswordTextField:
import org.apache.wicket.markup.html.form.PasswordTextField;
PasswordTextField passwordField = new PasswordTextField("password");
# 1 楼答案
正如评论中所解释的,您应该在客户端使用JavaScript来实现这一点
在服务器上请求Ajax进行更改是没有意义的
Wicket会抱怨PasswordTextField期望
type
属性为password
:https://github.com/apache/wicket/blob/837f3c137bf39f26ddc3b8e939235cde04e8c13d/wicket-core/src/main/java/org/apache/wicket/markup/html/form/PasswordTextField.java#L115如果坚持用Java实现,那么必须重写
PasswordTextField#getInputTypes()
以返回new String[] {"password", "text"}
使用Wicket/Java,您应该执行以下操作: