Java jQuery UI选项卡中未捕获的异常:片段标识符不匹配

Java jQuery UI选项卡中未捕获的异常:片段标识符不匹配,java,javascript,jquery,html,jsf,Java,Javascript,Jquery,Html,Jsf,我用JQuery和AJAX创建了JSF选项卡。但是有一个bug我找不到。这是JSF页面: DX-57历史中心 历史中心 这是托管bean的代码: import java.io.Serializable; import javax.enterprise.context.SessionScoped; // or import javax.faces.bean.SessionScoped; import javax.inject.Named; /* include SQL Packages

我用JQuery和AJAX创建了JSF选项卡。但是有一个bug我找不到。这是JSF页面:


DX-57历史中心
历史中心
这是托管bean的代码:

import java.io.Serializable;
import javax.enterprise.context.SessionScoped;
// or import javax.faces.bean.SessionScoped;
import javax.inject.Named;
/* include SQL Packages */
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.sql.DataSource;
import javax.annotation.Resource;
import javax.faces.context.FacesContext;
import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
// or import javax.faces.bean.ManagedBean;   

import org.glassfish.osgicdi.OSGiService;

@Named("ApplicationController")
@SessionScoped
public class Application implements Serializable {

    public Application() {
    }
    /* Call the Oracle JDBC Connection driver */
    @Resource(name = "jdbc/Oracle")
    private DataSource ds;

    @PostConstruct
    public void init() {
        tabs = new ArrayList<MyTabObject>();
        tabs.add(new MyTabObject("ApplicationTabMain.xhtml", "Main"));
        tabs.add(new MyTabObject("ApplicationTabModel.xhtml", "Model"));
        tabs.add(new MyTabObject("ApplicationTabSettings.xhtml", "Settings"));

    }
    String selectedTab = "Main";

    public String getSelectedTab() {
        return selectedTab;
    }

    public void setSelectedTab(String selectedTab) {
        this.selectedTab = selectedTab;
    }

    public String switchPages(String selTab) {
        selectedTab = selTab;
        return "Application.xhtml";
    }
    List<MyTabObject> tabs;

    public List<MyTabObject> getTabs() {
        return tabs;
    }

    public void setTabs(List<MyTabObject> tabs) {
        this.tabs = tabs;
    }

    ////
    public class MyTabObject {

        String tabfilename;
        String tabid;

        public String getTabfilename() {
            return tabfilename;
        }

        public void setTabfilename(String tabfilename) {
            this.tabfilename = tabfilename;
        }

        public String getTabid() {
            return tabid;
        }

        public void setTabid(String tabid) {
            this.tabid = tabid;
        }

        public MyTabObject(String tabfilename, String tabid) {
            super();
            this.tabfilename = tabfilename;
            this.tabid = tabid;
        }
    }
}

如何修复此错误?

有迹象表明,您可以使用不兼容的jquery/jqueryui版本,如下所示:


如果还没有,请尝试切换回jquery 1.3.2。

使用一个像样的JSF UI组件库,如PrimeFaces或RichFaces,可以避免此类问题和大量时间浪费,因为您试图用糟糕的HTML/CSS/JS/JSF基础知识自行编写(或让他人编写)。有这么多信息,但实际呈现的html也会很有用。这是html代码:@BalusC你能告诉我,有可能用AJAX和延迟加载实现纯JSF选项卡吗?我发现了一个示例,该示例显示可以实现JSF选项卡,但不需要AJX和延迟加载。选项卡正在工作。我不知道为什么和怎么做!问题是我在Firebug:UncaughtException:jQueryUI选项卡:不匹配的片段标识符中仍然会遇到这个错误。这是什么意思?
uncaught exception: jQuery UI Tabs: Mismatching fragment identifier.