有没有办法用我的GWT小部件绑定html文件
我有一个简单的登录页面的HTML文件有没有办法用我的GWT小部件绑定html文件,gwt,Gwt,我有一个简单的登录页面的HTML文件 <g:HTMLPanel> <div class="login"> <div class="heading"> <h2>Sign in</h2> <form action="#"> <g:Label ui:field="lblError" styleName="errorFields"></g:Label&g
<g:HTMLPanel>
<div class="login">
<div class="heading">
<h2>Sign in</h2>
<form action="#">
<g:Label ui:field="lblError" styleName="errorFields"></g:Label>
<div class="input-group input-group-lg">
<span class="input-group-addon"><i class="fa fa-user"></i></span>
<input type="text" class="form-control" placeholder="Username or email" ui:field="txtUserName"/>
</div>
<div class="input-group input-group-lg">
<span class="input-group-addon"><i class="fa fa-lock"></i></span>
<input type="password" class="form-control" placeholder="Password" ui:field="txtPassword"/>
</div>
<button type="submit" class="float" ui:field="btnSubmit">Login</button>
</form>
</div>
</div>
但如果我将输入更改为GWT文本框,整个样式都会受到干扰。
我希望在GWT中具有与此html文件完全相同的样式/效果
请给出建议。首先,您收到的错误仅仅意味着您的java文件(对于此uiBinder)中映射的txtUserName错误; 你的是:
@UiField
TextBox txtUserName;
换成
@UiField
InputElement txtUserName
但是请注意,InputElement将有非常少量的函数可供使用。您可以“转换”这一行
<input type="text" class="form-control" ui:field="txtUserName"/>
到
然后可以在java文件中设置占位符(在uiBinder调用后的构造函数中):
setAttribute(“占位符”、“用户名或电子邮件”)
为确保您的样式未被GWT默认主题覆盖-请检查您的…GWT.xml文件不包含未注释的行,如:
<inherits name='com.google.gwt.user.theme.standard.Standard'/>
首先,您收到的错误仅仅意味着在java文件(对于此uiBinder)中,您映射的txtUserName错误; 你的是:
@UiField
TextBox txtUserName;
换成
@UiField
InputElement txtUserName
但是请注意,InputElement将有非常少量的函数可供使用。您可以“转换”这一行
<input type="text" class="form-control" ui:field="txtUserName"/>
到
然后可以在java文件中设置占位符(在uiBinder调用后的构造函数中):
setAttribute(“占位符”、“用户名或电子邮件”)
为确保您的样式未被GWT默认主题覆盖-请检查您的…GWT.xml文件不包含未注释的行,如:
<inherits name='com.google.gwt.user.theme.standard.Standard'/>
首先:是的,可以绑定到现有的输入元素。我自己使用它创建了一个登录表单,它应该能够允许自动填写用户名/密码。(据我记忆所及,只有在某些浏览器中输入元素已经存在的情况下,才会出现这种情况,这些元素包含在非GWT添加的HTML中) 您可以创建一个绑定到现有输入元素的文本框,如下所示:
Element elemUsername = DOM.getElementById("login_username");
Element elemPassword = DOM.getElementById("login_password");
txtUserName = TextBox.wrap(elemUsername);
txtPassword = PasswordTextBox.wrap(elemPassword);
因此,您必须删除HTML文件中的ui:field
标记
或者将java文件中这些文本框的
@UiField
注释更改为@UiField(provided=true)
,并将元素包装到表单的构造函数中,或者必须完全删除此注释并手动绑定事件(按代码)如果您需要它们。首先:是的,可以绑定到现有的输入元素。我自己使用它创建了一个登录表单,它应该能够允许自动填写用户名/密码。(据我记忆所及,只有在某些浏览器中输入元素已经存在的情况下,才会出现这种情况,这些元素包含在非GWT添加的HTML中)
您可以创建一个绑定到现有输入元素的文本框,如下所示:
Element elemUsername = DOM.getElementById("login_username");
Element elemPassword = DOM.getElementById("login_password");
txtUserName = TextBox.wrap(elemUsername);
txtPassword = PasswordTextBox.wrap(elemPassword);
因此,您必须删除HTML文件中的ui:field
标记
或者将java文件中这些文本框的@UiField
注释更改为@UiField(provided=true)
,并将元素包装到表单的构造函数中,或者必须完全删除此注释并手动绑定事件(按代码)如果您需要它们。为什么不改用?为什么不改用?