Hello,
who can help.
I need the Windows user name and domain.
These values should be written on a label.
I did it with a JavaScript statement, the data can already get,
but can not write to a label or tag.
@Override
protected void init(VaadinRequest request) {
final VerticalLayout layout = new VerticalLayout();
layout.setMargin(true);
setContent(layout);
Label javascript = new Label("<h3>User Name</h3>",
Label.CONTENT_XHTML);
layout.addComponent(javascript);
final TextArea script = new TextArea();
script.setWidth("100%");
script.setRows(3);
/* ActiveXObject
*
* function login() {
var Text = "";
var objUserInfo = new ActiveXObject("WScript.network");
document.write("ComputerName: "+objUserInfo.ComputerName+"<br>");
document.write("UserDomain: "+objUserInfo.UserDomain+"<br>");
document.write("UserName: "+objUserInfo.UserName+"<br>");
}
*/
//script.setValue("document.write(new ActiveXObject('WScript.Network').UserName)");
script.setValue("alert(new ActiveXObject('WScript.Network').UserName)");
layout.addComponent(script);
Button button = new Button("Click Me");
button.addClickListener(new Button.ClickListener() {
public void buttonClick(ClickEvent event) {
[b]
JavaScript.getCurrent().execute(script.getValue());
[/b] //is OK
Label user = new Label(“”);
—> ??? user = JavaScript.getCurrent().execute(script.getValue());
VaadinRequest cr = VaadinService.getCurrentRequest();
if (cr instanceof VaadinServletRequest) {
Sting remoteUser = ((VaadinServletRequest)cr).getRemoteUser();
}
to get the remote user.