网站地图
  
  高级搜索
  首页   技术论坛   博客 派计划   产品中心   资源中心   银弹在线   商城  


 [无发表权] 请登录或者注册          版主: wl95421



请问关于从jsp向wicket传参数的问题?    
#1楼
给作者发送短消息 给作者发送短消息  
查看用户其他信息
总分 16 分
财富 13 goCom币
威望 1
排名 :(
段位 新手必读
我现在有2个项目,一个是用struts框架,另一个是用的wicket,现在客户想把2个项目整合到一起。主要是用户登录struts的项目以后,在首页上加上链接,就直接把struts项目的登录用户信息传到wicket项目去。

比如:我在struts的jsp中加上:

function externalLink(){
            window.open(“wicket画面”);
}

<input type="button" value="externalLink" onclick="externalLink()"/>

其中有2个参数 loginName & password

wicket画面的url我该怎么写才能把这2个参数传过去并且同时完成submit的操作。。

wicket 部分代码如下:
LoginPage.html
<html>
    <body id="top_body">
        <form wicket:id="form" >
            <table align="center">
/**feedback*/
                <tr>
                    <td align="right">
                        <wicket:message key="login.loginName" />
                    </td>
                    <td>
                        <input wicket:id="loginName" style="width: 200px" />
                    </td>
                </tr>
                <tr>
                    <td align="right">
                        <wicket:message key="login.password" />
                    </td>
                    <td>
                        <input type="password" wicket:id="password" style="width: 200px" />
                    </td>
                </tr>
                <tr>
                    <td>
                    </td>
                    <td>
                        <input type="submit" wicket:message="value:login.submit"
                            style="width: 100px" />
                    </td>
                </tr>
            </table>
        </form>
    </body>
</html>

LoginPage.java

public class LoginPage extends WebPage {             
 
    private static final Logger logger = LoggerFactory.getLogger(LoginPage.class);  

    public LoginPage() {
        setVersioned(false);
        add(new Label("title", getLocalizer().getString("login.title", null)));
        add(new LoginForm("form"));          
    }
   
    /**
     * wicket form
     */    
    private class LoginForm extends StatelessForm {                              
       
        private String loginName;
        private String password;

        public String getLoginName() {
            return loginName;
        }

        public void setLoginName(String loginName) {
            this.loginName = loginName;
        }

        public String getPassword() {
            return password;
        }

        public void setPassword(String password) {
            this.password = password;
        }       
       
        public LoginForm(String id) {           
            super(id);
            add(new WebMarkupContainer("hide") {
                @Override
                public boolean isVisible() {
                    return !LoginForm.this.hasError();
                }
            });
           .................
            setModel(new BoundCompoundPropertyModel(this));
            final TextField loginNameField = new TextField("loginName");
            loginNameField.setOutputMarkupId(true);
            add(loginNameField);
            final PasswordTextField passwordField = new PasswordTextField("password");
            passwordField.setRequired(false);
            passwordField.setOutputMarkupId(true);
            add(passwordField);
            // intelligently set focus on the appropriate textbox
            add(new HeaderContributor(new IHeaderContributor() {
                public void renderHead(IHeaderResponse response) {
                    String markupId;
                    if(loginNameField.getConvertedInput() == null) {
                        markupId = loginNameField.getMarkupId();
                    } else {
                        markupId = passwordField.getMarkupId();
                    }                   
                    response.renderOnLoadJavascript("document.getElementById('" + markupId + "').focus()");
                }
            }));          
        }
       
        @Override
        protected void onSubmit() {                   
            if(loginName == null || password == null) {
                logger.debug("login failed - login name or password is null");
                error(getLocalizer().getString("login.error", null));               
                return;
            }           
            User user = ......authenticate(loginName, password);        
            if (user == null) { // login failed               
                ......................................  
            } else { // login success
              .................
            }
     
        }                 
    }        

}
 

Re: 请问关于从jsp向wicket传参数的问题?    
#2楼
给作者发送短消息 给作者发送短消息 实名会员 
查看用户其他信息
总分 8551 分
财富 9316 goCom币
威望 8223
排名 第 1 名
段位 新手必读
双重检查
首先用默认的Wicket机制逻辑,如果发现Model中的数据为null
那么就通过URL取参数,进行登录就是了
或者是写两个Page,一个是Wicket正常登录
另一个通过URL登录,然后再跳转就是了
 




发表回复
账号用户名   密码   登录
内容:url email imgsrc image code quote
范例 Example
bold italic underline linethrough   


 [更多...]