下記のマルチデバイス対応したら、
http://blog.suz-lab.com/2009/12/multidevicefiltermobylet-t2-velocity-on.html
下記の"T2で"/"でも"/index.html"の処理"がおかしくなってしまいました。
http://blog.suz-lab.com/2009/12/t2indexhtml_21.html
page.mobile.IndexPage.java
page.other.IndexPage.java
を作成して、PCにて"/index.html"にアクセスすると、
本来なら、"page.other.IndexPage.java"呼ばれて欲しかったのですが、
"page.mobile.IndexPage.java"が呼ばれてしまいました。
なので、正常に動作するように修正です。
--------【AbstractIndexPage】--------
public abstract class AbstractIndexPage extends AbstractPage {
@Override
@Default
public Navigation others(Request request) {
String path = request.getRequestURI();
if(path.endsWith("/")) {
this.setAttributes(request);
return Forward.to(path + "index.html");
} else if(path.endsWith("/index.html")) {
this.setAttributes(request);
return Forward.to(path);
} else {
return Forward.to(path);
}
}
}
--------
-------【mobile.IndexPage】-------
@Page("/mobile")
public class IndexPage extends AbstractIndexPage {
@Override
protected void setAttributes(Request request) {
...
}
}
--------
-------【other.IndexPage】-------
@Page("/other")
public class IndexPage extends AbstractIndexPage {
@Override
protected void setAttributes(Request request) {
...
}
}
--------
要は、親の抽象クラスに@Page("/")と入れていたアノテーションを、
子供に@Page("/other")と入れた感じです。
だんだん、場当たりになってきた…
--------
http://www.suz-lab.com

0 コメント:
コメントを投稿