⑴ 有關weblogic部署應用報錯
這個問題我最近也遇到了,網上找了半天沒找到具體原因;那這種問題應該算[常識問題],然後猜測嘗試一番,最後找到問題:應該是團隊項目,多人上傳了不同版本的spring框架的jar包導致的(我這邊lib裡面既有4.3.8還有4.3.7),把低版本的刪了,再部署應該就沒問題了.
⑵ android 中WebView 控制項在fragment中為什麼不顯示內容
可能這幾個原因
AndroidManifest中忘記添加網路訪問的許可權了
你的WebView忘記調用loadUrl方法去載入一個url
Fragment的OnCreateView方法返回的View不對,導致WebView根本沒有顯示出來(這種可能性太低,如果是這樣那後面引用WebView的時候會報NullPointerException)
最好把你關鍵代碼貼上來,具體分析什麼情況
⑶ eclipse 3.6(太陽神版)web fragment project是什麼
是Servlet3.0的支持的新特性,簡單理解就是將一個web工程分成多個獨立的部分來開發調試,每個部分就是一個web fragment project.
⑷ android開發,使用fragment載入webview,載入出現1秒空白。
加個progressbar用來過渡載入的時間
⑸ jsp容器可插拔性怎麼理解
ServletContainerInitializer 和編程式注冊特性可以在 Servlet 和JSP 容器之間提供一個清晰的職責分離,通過由 Servlet 容器只負責解析 web.xml 和 web-fragment.xml 資源,而解析標簽庫描述符(TLD)資源委託給 JSP 容器。
在此之前,web 容器必須掃描 TLD 資源尋找任何 Listener 聲明。使用Servlet 3.0 和後續版本後,該職責可以委託給 JSP 容器。JSP 容器是內嵌到一個 Servlet3.0 兼容的 Servlet 容器中,可以提供它自己的ServletContainerInitializer 實現,搜索傳遞到它的 onStartup 方法的 ServletContext 參數尋找任何 TLD 資源,掃描這些資源尋找Listener 聲明,並向 ServletContext 注冊相關的 Listener。
另外,Servlet3.0 之前,JSP 容器用於必須掃描應用的部署描述符尋找jsp-config 相關的配置。使用 Servlet3.0 和後續版本後,Servlet 容器必須提供通過 ServletContext.getJspConfigDescriptor 方法得到應用的 web.xml 和 web-fragment.xml 部署描述符中的任何 jsp-config 相關的配置。
在 TLD 中發現的和編程注冊的任何 ServletContextListener 在它們提供的功能上是有限的。任何試圖調用一個在 Servlet3.0 中加入的ServletContext API 方法將導致一個UnsupportedOperationException。
另外,Servlet 3.0 和後續版本兼容的 Servlet 容器必須提供一個名字為javax.servlet.context.orderedLibs 的 ServletContext 屬性,它的值(java.util.List類型)包含了由ServletContext 所代表的應用的 WEB-INF/lib 目錄中的 JAR 文件的名字列表,按照它們的 web fragment 名字的排序(可能排除如果 fragment JAR 包已經被排除在 absolute-ordering),或者 null 如果應用沒有指定任意絕對或相對順序。
具體可參照:網頁鏈接
⑹ 如何在fragment中添加webview
因為CordovaWebView 默認的初始化里判斷了Content是不是繼承CordovaInterface,如果直接使用Fragment繼承CordovaInterface,CordovaInterface有個抽象方法getActicity ()和Fragment的相沖突了,並且Fragment的這個同名方法還是final的,無法覆蓋。
查看CordovaWebView的源碼,它是這樣實現的。
public CordovaWebView(Context context, AttributeSet attrs, int defStyle, boolean privateBrowsing) {
super(context, attrs, defStyle, privateBrowsing);
if (CordovaInterface.class.isInstance(context))
{
this.cordova = (CordovaInterface) context;
}
else
{
Log.d(TAG, "Your activity must implement CordovaInterface to work");
}
this.setWebChromeClient(new CordovaChromeClient(this.cordova));
this.initWebViewClient(this.cordova);
this.loadConfiguration();
this.setup();
}
所以只要讓CordovaWebView的Content是實現CordovaInterface的介面就可以了。
實現一個類繼承介面CordovaInterface:
private class CordovaContext extends ContextWrapper implements CordovaInterface {
Activity activity;
protected final ExecutorService threadPool = Executors.newCachedThreadPool();
public CordovaContext(Activity activity) {
super(activity.getBaseContext());
this.activity = activity;
}
public void startActivityForResult(CordovaPlugin command, Intent intent, int requestCode) {
//activity.startActivityForResult(command, intent, requestCode);
}
public void setActivityResultCallback(CordovaPlugin plugin) {
//activity.setActivityResultCallback(plugin);
}
public Activity getActivity() {
return activity;
}
public Object onMessage(String id, Object data) {
return null;
}
public ExecutorService getThreadPool() {
return threadPool;
}
}
然後在Fragment的onCreateView方法里,更改默認的LayoutInflater inflater的content;
inflater = cloneInContext(new CordovaContext(mActivity);
這樣就可以實現Fragment里正常使用CordovaWebView。