1
我正在編輯ToolTwist Designer中的一個頁面,並且顯示了所有正常的選項卡 - 編輯頁面,導航點,測試頁面,源代碼等,但沒有顯示「頁面數據」選項卡。我怎樣才能使標籤顯示,所以我可以輸入我的網頁的頁面數據?爲什麼設計器中沒有顯示頁面數據選項卡?
我正在編輯ToolTwist Designer中的一個頁面,並且顯示了所有正常的選項卡 - 編輯頁面,導航點,測試頁面,源代碼等,但沒有顯示「頁面數據」選項卡。我怎樣才能使標籤顯示,所以我可以輸入我的網頁的頁面數據?爲什麼設計器中沒有顯示頁面數據選項卡?
頁面數據選項卡僅在頁面上有需要頁面數據的小部件時纔會顯示。您還需要編輯導航點,而不是頁面,因爲頁面數據屬於導航點,並且單個頁面定義可能會被許多導航點共享。換句話說,頁面數據允許小部件在網站內的各個位置(導航點)顯示不同。
如果您正在開發您希望使用的頁面數據的小部件,你需要做到以下幾點:
在窗口小部件控制器類中,實現「UsesPageData」界面。這告訴設計師,當你點擊引用包含這個小部件的頁面的導航點時,頁面數據標籤需要被顯示,並且在該標籤上它創建了可以輸入該小部件的XML的部分,特定於該特定部分的navPoint。
public class CarouselTab extends WbdWidgetController implements UsesPageData
爲了讓用戶瞭解小部件所期望的XML,您需要實現一個返回模板XML代碼的方法。例如:
public XData getInitialPageData(WbdWidget instance)
{
StringBuffer xml = new StringBuffer();
xml.append("\n");
xml.append("\n");
xml.append(" id01\n");
xml.append(" [Label 01]\n");
xml.append(" [Add your widget here 01]\n");
xml.append("\n");
xml.append("\n");
xml.append(" id02\n");
xml.append(" [Label 02]\n");
xml.append(" [Add your widget here 02]\n");
xml.append("\n");
xml.append("");
return new XData(xml);
}
定義,定義上面,你進入的頁面數據選項卡上的XML要顯示的名稱的屬性:
protected void init(WbdWidget instance) throws WbdException
{
instance.defineProperty(new WbdStringProperty("pageDataSection", null, "PageDataSection", ""));
...
}
使用時要生成的頁面的頁面數據:
@Override
public void renderForJSP(WbdGenerator generator, WbdWidget instance, UimHelper ud, WbdRenderHelper rh) throws WbdException
{
...
Xpc xpc = ud.getXpc();
xpc.start("tooltwist.wbd.getPagedata", "select");
xpc.attrib("navpointId", WbdSession.getNavpointId(ud.getCredentials()));
xpc.attrib("pageDataSection", pageDataSection);
XData pagedata = xpc.run();
// Do something with the page data
...
}