本文的目的是介绍JSF2-如何使用JSFEL从web.xml中获取上下文参数值?的详细情况,特别关注js获取上下文路径的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解
本文的目的是介绍JSF 2-如何使用JSF EL从web.xml中获取上下文参数值?的详细情况,特别关注js获取上下文路径的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解JSF 2-如何使用JSF EL从web.xml中获取上下文参数值?的机会,同时也不会遗漏关于css – 如何使用JSF从webjars.org使用Font Awesome、delphi – 是否可以使用JclDebug从引发异常的方法中获取参数值?、EL如何获取上下文参数值(附代码)、EL获取上下文参数步骤详解的知识。
本文目录一览:- JSF 2-如何使用JSF EL从web.xml中获取上下文参数值?(js获取上下文路径)
- css – 如何使用JSF从webjars.org使用Font Awesome
- delphi – 是否可以使用JclDebug从引发异常的方法中获取参数值?
- EL如何获取上下文参数值(附代码)
- EL获取上下文参数步骤详解
JSF 2-如何使用JSF EL从web.xml中获取上下文参数值?(js获取上下文路径)
我想在web.xml文件中声明我的JSF 2 webapp使用的一些常量值,如下所示:
<web-app>
<context-param>
<param-name>myconstantkey</param-name>
<param-value>some string value</param-value>
</context-param>
</web-app>
从支持bean内部获取这些值很容易:
FacesContext ctx = FacesContext.getCurrentInstance();
String myConstantValue =
ctx.getExternalContext().getInitParameter("myconstantkey");
我如何使用JSF EL从Facelets页面内部获得相同的值?
css – 如何使用JSF从webjars.org使用Font Awesome
<link href="//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css" rel="stylesheet" />
当我使用icon-home类时,这给我一个不错的主页图标:
但是,我不想依赖引导服务器提供Font Awesome资源,所以我试图将这些与我的战争捆绑在一起,并配置我的视图以使用捆绑的资源。
我正在使用由webjars项目创建的pre-made JAR。我的pom有以下依赖:
<dependency> <groupId>org.webjars</groupId> <artifactId>font-awesome</artifactId> <version>3.2.1</version> </dependency>
这将JAR放在我的WAR的WEB-INF / lib目录中。 JAR结构的相关部分是:
meta-inf - MANIFEST.MF + maven - resources - webjars - font-awesome - 3.2.1 - css - font-awesome.css - *other css files* - font - *font files*
我已经尝试过将以下图标包含在我的项目中:
<h:outputStylesheet library="webjars" name="font-awesome/3.2.1/css/font-awesome.css" />
但是,这将使以前工作的家庭图标为:
而我的浏览器(Chrome)在控制台中显示以下错误(域/端口/上下文根被更改为保护无辜者);
GET http://DOMAIN:PORT/CONTEXT-ROOT/javax.faces.resource/font-awesome/3.2.1/font/fontawesome-webfont.woff?v=3.2.1 404 (Not Found) GET http://DOMAIN:PORT/CONTEXT-ROOT/javax.faces.resource/font-awesome/3.2.1/font/fontawesome-webfont.ttf?v=3.2.1 404 (Not Found) GET http://DOMAIN:PORT/CONTEXT-ROOT/javax.faces.resource/font-awesome/3.2.1/font/fontawesome-webfont.svg 404 (Not Found)
所以看起来虽然css文件被正确解析,但是包含css文件引用的字体的文件找不到。我已经检查了css文件中的这些引用,它们是:
src: url('../font/fontawesome-webfont.eot?v=3.2.1'); src: url('../font/fontawesome-webfont.eot?#iefix&v=3.2.1') format('embedded-opentype'),url('../font/fontawesome-webfont.woff?v=3.2.1') format('woff'),url('../font/fontawesome-webfont.ttf?v=3.2.1') format('truetype'),url('../font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1') format('svg');
那些路径是相对于css资源,所以我认为JSF应该没有问题找到它。现在我不知道该怎么办
任何指针都会很棒!干杯。
解决方法
GET http://DOMAIN:PORT/CONTEXT-ROOT/javax.faces.resource/font-awesome/3.2.1/font/fontawesome-webfont.woff.xhtml?ln=webjars&v=3.2.1 GET http://DOMAIN:PORT/CONTEXT-ROOT/javax.faces.resource/font-awesome/3.2.1/font/fontawesome-webfont.ttf.xhtml?ln=webjars&v=3.2.1 GET http://DOMAIN:PORT/CONTEXT-ROOT/javax.faces.resource/font-awesome/3.2.1/font/fontawesome-webfont.svg.xhtml?ln=webjars
实际上,您应该在CSS文件中使用#{resource}来打印正确的JSF资源URL:
src: url("#{resource['webjars:font-awesome/3.2.1/font/fontawesome-webfont.eot']}&v=3.2.1"); src: url("#{resource['webjars:font-awesome/3.2.1/font/fontawesome-webfont.eot']}&#iefix&v=3.2.1");
但是,由于源代码实际上不在您的控制之下(您无法编辑它),所以没有其他方法可以自己管理资源处理。 JSF实用程序库OmniFaces为确切的目的提供了UnmappedResourceHandler
开箱。通过以下步骤您的问题应该解决:
>安装OmniFaces,它也可以在Maven上使用。
<dependency> <groupId>org.omnifaces</groupId> <artifactId>omnifaces</artifactId> <version><!-- Check omnifaces.org for current version. --></version> </dependency>
>在faces-config.xml中注册UnmappedResourceHandler,如下所示:
<application> <resource-handler>org.omnifaces.resourcehandler.UnmappedResourceHandler</resource-handler> </application>
>将/javax.faces.resource/*添加到FacesServlet映射中,假设servlet名称为facesServlet,并且您已经在* .xhtml上映射:
<servlet-mapping> <servlet-name>facesServlet</servlet-name> <url-pattern>/javax.faces.resource/*</url-pattern> <url-pattern>*.xhtml</url-pattern> </servlet-mapping>
>移动< h:outputStylesheet>库名称转入资源名称。
<h:outputStylesheet name="webjars/font-awesome/3.2.1/css/font-awesome.css" />
>利润。
delphi – 是否可以使用JclDebug从引发异常的方法中获取参数值?
我希望,如果可能的话,还要从引发异常的方法中记录参数值.
我不知道是否可以用JclDebug做到这一点,或者存在任何其他方式来做到这一点.
谁能帮我?
谢谢!
解决方法
但是,由于CodeSite只在异常即将发生时才会这样做(它会怎么样?)这并不是你想要的.但我确实发现,合理的跟踪日志与jcl堆栈回溯(或者makeexcept或eurekalog)相结合是绰绰有余的,如果我真的需要知道调用中涉及的所有参数值,我应该回去添加更多跟踪消息.
EL如何获取上下文参数值(附代码)
这次给大家带来EL如何获取上下文参数值(附代码),EL获取上下文参数值,的注意事项有哪些,下面就是实战案例,一起来看一下。
1. action返回参数到页面
/** * 测试js中获取后台传值 * @param model * @param req * @return String */ @RequestMapping("getValue") public String getValue(Model model, HttpServletRequest req){ model.addAttribute("stringValue", "测试在js中取值..."); model.addAttribute("numberValue", 111); List<string> list = new ArrayList<string>(); list.add("aaa"); list.add("bbb"); list.add("ccc"); model.addAttribute("arrayValue", list); model.addAttribute("jsonStringValue", JSON.toJSONString(list)); User user = new User(); user.setUserID("1"); user.setUserName("test"); user.setMobile("13800000000"); user.setEmail("test@163.com"); user.setNickName("test"); model.addAttribute("objJsonString", JSON.toJSONString(user)); return "/getValue.htm"; }</string></string>
2. js中用EL表达式获取参数值
<script> $(function(){ var stringValue = '${stringValue}'; console.log('stringValue-------------' + stringValue); var numberValue = ${numberValue}; console.log('numberValue-------------' + numberValue); var jsonStringValue = ${jsonStringValue}; console.log('jsonValue---------------' + jsonStringValue); var jsonStringValue1 = '${jsonStringValue}'; console.log('jsonValue1---------------' + jsonStringValue1); var objJsonString = '${objJsonString}'; console.log("objJsonString------------------- " + objJsonString); var obj = JSON.parse(objJsonString); console.log("userName ------------ " + obj.userName); }); </script>
备注:取数值型参数值,js中EL表达式不用加引号;取字符串型参数值,js中EL表达式需要加引号;对象和集合类型参数值,需要在后台用JSON.toJSONString()进行转化。
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
VUE对ElTableColumn进行扩展
在Vue中watch方法使用详解
Vue.js实现自定义登录表单
以上就是EL如何获取上下文参数值(附代码)的详细内容,更多请关注php中文网其它相关文章!
EL获取上下文参数步骤详解
这次给大家带来EL获取上下文参数步骤详解,EL获取上下文参数的注意事项有哪些,下面就是实战案例,一起来看一下。
1. action返回参数到页面
/** * 测试js中获取后台传值 * @param model * @param req * @return String */ @RequestMapping("getValue") public String getValue(Model model, HttpServletRequest req){ model.addAttribute("stringValue", "测试在js中取值..."); model.addAttribute("numberValue", 111); List<string> list = new ArrayList<string>(); list.add("aaa"); list.add("bbb"); list.add("ccc"); model.addAttribute("arrayValue", list); model.addAttribute("jsonStringValue", JSON.toJSONString(list)); User user = new User(); user.setUserID("1"); user.setUserName("test"); user.setMobile("13800000000"); user.setEmail("test@163.com"); user.setNickName("test"); model.addAttribute("objJsonString", JSON.toJSONString(user)); return "/getValue.htm"; }</string></string>
2. js中用EL表达式获取参数值
<script> $(function(){ var stringValue = '${stringValue}'; console.log('stringValue-------------' + stringValue); var numberValue = ${numberValue}; console.log('numberValue-------------' + numberValue); var jsonStringValue = ${jsonStringValue}; console.log('jsonValue---------------' + jsonStringValue); var jsonStringValue1 = '${jsonStringValue}'; console.log('jsonValue1---------------' + jsonStringValue1); var objJsonString = '${objJsonString}'; console.log("objJsonString------------------- " + objJsonString); var obj = JSON.parse(objJsonString); console.log("userName ------------ " + obj.userName); }); </script>
备注:取数值型参数值,js中EL表达式不用加引号;取字符串型参数值,js中EL表达式需要加引号;对象和集合类型参数值,需要在后台用JSON.toJSONString()进行转化。
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
Vue操作自定义动态组件方法详解
Vue数据监听watch方法使用详解
以上就是EL获取上下文参数步骤详解的详细内容,更多请关注php中文网其它相关文章!
关于JSF 2-如何使用JSF EL从web.xml中获取上下文参数值?和js获取上下文路径的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于css – 如何使用JSF从webjars.org使用Font Awesome、delphi – 是否可以使用JclDebug从引发异常的方法中获取参数值?、EL如何获取上下文参数值(附代码)、EL获取上下文参数步骤详解等相关内容,可以在本站寻找。
本文标签: