我的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)
这也会导致错误.有什么建议?
我有以下用例:我的应用程序以Ant脚本启动,它向用户询问有关项目配置的几个问题(数据库设置等).这些设置存储在属性文件中.
然后我想通过Maven Ant Tasks在我的Ant脚本中运行Maven,它应该用我的pom.xml中的预定义属性替换properties-file的属性.我不想改变pom.xml.
有没有办法做到这一点?提前致谢!
我正在GlassFish上开发Java EE 6应用程序已有几个月了,但我仍然觉得我不完全理解容器管理事务(以及对持久化上下文的影响)是如何工作的 - 尽管我已阅读过很多关于基础知识.
为了更好地理解,如果有可能让Java EE-Server(例如GlassFish)在启动/提交/回滚事务时写入日志文件,我会觉得很有意思.这有可能吗?
我刚刚发现了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) 说我有这个班:
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项目构建了一个Debian软件包,它取决于一堆Debian软件包.Python项目还包含单元和集成测试(使用py.test).
由于我的项目依赖于一些Debian软件包,我需要在测试环境中安装这些软件包,并且他们应该验证我的模块与这些软件包一起正常工作(我想确保我的模块不会因这些库的更新而中断).
我想将这些测试环境的配置和执行放入Makefile中.这些测试应该可以在开发人员工作站和Jenkins支持的Integration Server上运行.
我目前对我的软件包进行完整集成测试的方法是:
不幸的是我找不到任何提示如何实现这些东西 - 特别是如何做3).我能找到的所有文档都只是构建包,而不是运行测试.
任何人都可以提供一些提示,我可以建立这样的测试设置吗?另外,我想知道做我想做的事情是否有意义.其他人如何测试(Python)模块与其他Debian软件包的集成?
启动我的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.是否可以以更细粒度的方式指定忽略,例如传递应该抑制警告的模块名称?
我正在尝试从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)