⑴ 有关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。