小编Ing*_*her的帖子

访问包含点的ResourceBundle键?

我的JSF2应用程序使用ResourceBundle完全国际化.

现在我有很多Javascript代码,它会做一些警报和事情.在那里,我想访问我的ResourceBundle.我可以像这样成功访问简单的ResourceBundle键:

alert("#{bundle.message_email_sent}");
Run Code Online (Sandbox Code Playgroud)

不幸的是,我在我的捆绑中的键的惯例是使用点.例如,作为我的钥匙的分隔符message.email.sent=E-Mails sent..但是,当我这样做

alert("#{bundle.message.email.sent}");
Run Code Online (Sandbox Code Playgroud)

JSF尝试像bundle.message返回的字符串上的函数一样访问"email".我如何告诉EL解析器使用整个"message.email.sent"作为密钥?

我也试过像

alert("#{bundle[\'message.email.sent\']}");
Run Code Online (Sandbox Code Playgroud)

这也会导致错误.有什么建议?

jsf el jsf-2

3
推荐指数
1
解决办法
2274
查看次数

使用Maven Ant Tasks在运行时更改pom.xml中的属性.可能吗?

我有以下用例:我的应用程序以Ant脚本启动,它向用户询问有关项目配置的几个问题(数据库设置等).这些设置存储在属性文件中.

然后我想通过Maven Ant Tasks在我的Ant脚本中运行Maven,它应该用我的pom.xml中的预定义属性替换properties-file的属性.我不想改变pom.xml.

有没有办法做到这一点?提前致谢!

(顺便说一句,我已经尝试过与maven类似的方法,目前似乎不可能)

ant properties pom.xml maven

2
推荐指数
1
解决办法
8702
查看次数

让JavaEE Server记录事务信息

我正在GlassFish上开发Java EE 6应用程序已有几个月了,但我仍然觉得我不完全理解容器管理事务(以及对持久化上下文的影响)是如何工作的 - 尽管我已阅读过很多关于基础知识.

为了更好地理解,如果有可能让Java EE-Server(例如GlassFish)在启动/提交/回滚事务时写入日志文件,我会觉得很有意思.这有可能吗?

ejb glassfish java-ee

2
推荐指数
1
解决办法
859
查看次数

Python日志记录:使用fileconfig和编程配置之间的不同行为

我刚刚发现了Python日志记录的不同行为,具体取决于我是否使用fileconfig进行日志记录并使用程序化配置进行日志记录.

为了演示,我创建了两个最小的例子.

在第一个示例中,我以编程方式配置日志记录.此示例按预期工作 - 将调试日志消息打印到控制台.

# foo.py
import logging

logger = logging.getLogger(__name__)

class Foo(object):
    def __init__(self):
        logger.debug('debug log from Foo')

##########################################################################
# loggingtest.py
import logging.config

from foo import Foo

if __name__ == '__main__':
    consoleLogger = logging.StreamHandler()
    formatter = logging.Formatter(
        '%(asctime)-6s: %(name)s - %(levelname)s - %(message)s')
    consoleLogger = logging.StreamHandler()
    consoleLogger.setLevel(logging.DEBUG)
    consoleLogger.setFormatter(formatter)

    rootLogger = logging.getLogger() 
    rootLogger.addHandler(consoleLogger)
    rootLogger.setLevel(logging.NOTSET)
    # prints debug log message to console
    foo = Foo()
Run Code Online (Sandbox Code Playgroud)

在我的第二个例子中,我正在使用fileConfig配置日志记录.据我所知,log-config-file应该具有完全相同的行为.但是,在此示例中仍未打印调试日志消息.

# foo.py (same as above)
import logging

logger = logging.getLogger(__name__)

class Foo(object):
    def __init__(self): …
Run Code Online (Sandbox Code Playgroud)

python logging

2
推荐指数
1
解决办法
1982
查看次数

获取没有方法和内置函数的类的类和对象属性

说我有这个班:

class MyClass(object):
  my_attrib = 'foo'
  my_other_attrib = 'bar'

  def mymethod():
    pass
Run Code Online (Sandbox Code Playgroud)

现在我怎样才能获得类MyClass,WITHOUT方法和内置类等的属性__dict__

当我{'my_attrib':'foo', 'my_other_attrib':'bar'}应用于上面的类时,我希望得到一本字典.

python introspection

2
推荐指数
1
解决办法
1224
查看次数

在pBuilder环境中运行Python集成测试

我用Python项目构建了一个Debian软件包,它取决于一堆Debian软件包.Python项目还包含单元和集成测试(使用py.test).

由于我的项目依赖于一些Debian软件包,我需要在测试环境中安装这些软件包,并且他们应该验证我的模块与这些软件包一起正常工作(我想确保我的模块不会因这些库的更新而中断).

我想将这些测试环境的配置和执行放入Makefile中.这些测试应该可以在开发人员工作站和Jenkins支持的Integration Server上运行.

我目前对我的软件包进行完整集成测试的方法是:

  1. 创建一个pBuilder环境
  2. 将Debian-controlfile中的依赖项安装到pBuilder环境中
  3. 在这个pBuilder环境中启动py.test,也使用virtualenv/tox来测试不同的Python解释器版本
  4. 从测试环境中收集测试结果(py.test可以生成很好的类似JUnit的测试输出,Jenkins可以轻松发布)

不幸的是我找不到任何提示如何实现这些东西 - 特别是如何做3).我能找到的所有文档都只是构建包,而不是运行测试.

任何人都可以提供一些提示,我可以建立这样的测试设置吗?另外,我想知道做我想做的事情是否有意义.其他人如何测试(Python)模块与其他Debian软件包的集成?

python debian integration-testing virtualenv pbuilder

2
推荐指数
1
解决办法
594
查看次数

仅通过命令行禁用特定模块的python警告

启动我的Python脚本时,我收到此警告:

/usr/lib/python2.7/dist-packages/cffi/model.py:526: UserWarning: 'point_conversion_form_t' has no values explicitly defined; next version will refuse to guess which integer type it is meant to be (unsigned/signed, int/long)
  % self._get_c_name())
Run Code Online (Sandbox Code Playgroud)

我知道我可以忽略这个警告:

PYTHONWARNINGS="ignore::UserWarning" python $MYSCRIPT
Run Code Online (Sandbox Code Playgroud)

但这也将忽略我仍希望看到的所有其他模块的UserWarnings.是否可以以更细粒度的方式指定忽略,例如传递应该抑制警告的模块名称?

python

2
推荐指数
1
解决办法
828
查看次数

从Bash脚本在PostgreSQL中创建FUNCTION

我正在尝试从Bash脚本在Postgres数据库中创建一个FUNCTION.不幸的是,我无法让它发挥作用.这是我的脚本:

#!/bin/bash
# Save Postgres command to $POSTGRES_CMD
read -d '' POSTGRES_CMD <<"EOF"
CREATE OR REPLACE FUNCTION truncate_tables(username IN VARCHAR) RETURNS void AS $$
DECLARE
    statements CURSOR FOR
        SELECT tablename FROM pg_tables
        WHERE tableowner = username AND schemaname = 'public';
BEGIN
    FOR stmt IN statements LOOP
        EXECUTE 'TRUNCATE TABLE ' || quote_ident(stmt.tablename) || ';';
    END LOOP;
END; 
$$
LANGUAGE plpgsql;
EOF

sudo su - postgres -c "psql -d postgres -U postgres -c \"${POSTGRES_CMD}\""
Run Code Online (Sandbox Code Playgroud)

当我运行脚本时,我收到以下错误:

ERROR:  Syntax error at »20541«
LINE …
Run Code Online (Sandbox Code Playgroud)

postgresql bash stored-procedures

1
推荐指数
1
解决办法
3730
查看次数