How to setResponsePage with a classname string parameter?

2010-08-03 Thread rolandpeng

Hi,I want to redirect to a dynamic webpage,but I can only get the destination
as a fullpath classname string .The sample code like below,

String pageClass=task.getFormResourceName();

WebPage page=null;
if(pageClass.equals(com.sandbox.Page1)){
page=new Page1();
}else if(pageClass.equals(com.sandbox.practices.Page2)){
page=new Page2();
}else if(pageClass.equals(com.sandbox.practices.Page3)){
page=new Page3();
}
setResponsePage(page);

Is there any better way to replace this if...else if way? I have tried
Class.forname(pageClass),but compiles error and shows Bound mismatch,like
below,

Bound mismatch: The generic method setResponsePage(ClassC) of type
Component is not applicable for the arguments (Classcapture#3-of ?). The
inferred type capture#3-of ? is not a valid substitute for the bounded
parameter C extends Page.

Any suggestion is welcome,thank you.
-- 
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/How-to-setResponsePage-with-a-classname-string-parameter-tp2312847p2312847.html
Sent from the Wicket - User mailing list archive at Nabble.com.

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: How to setResponsePage with a classname string parameter?

2010-08-03 Thread James Carman
Cast it?

On Aug 3, 2010 10:19 PM, rolandpeng rolandp...@cht.com.tw wrote:

 Hi,I want to redirect to a dynamic webpage,but I can only get the
destination
 as a fullpath classname string .The sample code like below,

 String pageClass=task.getFormResourceName();

 WebPage page=null;
 if(pageClass.equals(com.sandbox.Page1)){
 page=new Page1();
 }else if(pageClass.equals(com.sandbox.practices.Page2)){
 page=new Page2();
 }else if(pageClass.equals(com.sandbox.practices.Page3)){
 page=new Page3();
 }
 setResponsePage(page);

 Is there any better way to replace this if...else if way? I have tried
 Class.forname(pageClass),but compiles error and shows Bound mismatch,like
 below,

 Bound mismatch: The generic method setResponsePage(ClassC) of type
 Component is not applicable for the arguments (Classcapture#3-of ?). The
 inferred type capture#3-of ? is not a valid substitute for the bounded
 parameter C extends Page.

 Any suggestion is welcome,thank you.
 --
 View this message in context:
http://apache-wicket.1842946.n4.nabble.com/How-to-setResponsePage-with-a-classname-string-parameter-tp2312847p2312847.html
 Sent from the Wicket - User mailing list archive at Nabble.com.

 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org



Re: How to setResponsePage with a classname string parameter?

2010-08-03 Thread rolandpeng

I've also tried casting like this.
setResponsePage((Page)Class.forName(pageClass));

but compiles error as well,the message below,
The method setResponsePage(ClassC) in the type Component is not applicable
for the arguments (Page)


James Carman wrote:
 
 Cast it?
 
 On Aug 3, 2010 10:19 PM, rolandpeng rolandp...@cht.com.tw wrote:
 
-- 
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/How-to-setResponsePage-with-a-classname-string-parameter-tp2312847p2312876.html
Sent from the Wicket - User mailing list archive at Nabble.com.

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: How to setResponsePage with a classname string parameter?

2010-08-03 Thread rolandpeng

oh,I've figured it out...I should cast it with generic class. thank you :)

try {
  setResponsePage((ClassPage)Class.forName(pageClass));
} catch (ClassNotFoundException e) {
  e.printStackTrace();
}   


rolandpeng wrote:
 
 I've also tried casting like this.
 setResponsePage((Page)Class.forName(pageClass));
 
 but compiles error as well,the message below,
 The method setResponsePage(ClassC) in the type Component is not
 applicable for the arguments (Page)
 
 
 James Carman wrote:
 
 Cast it?
 
 On Aug 3, 2010 10:19 PM, rolandpeng rolandp...@cht.com.tw wrote:
 
 
-- 
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/How-to-setResponsePage-with-a-classname-string-parameter-tp2312847p2312878.html
Sent from the Wicket - User mailing list archive at Nabble.com.

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org