我正在开发一个 Java Web 应用程序,它现在处于开发的最后阶段,剩下的事情之一就是本地化。我们正在为每个受支持的语言环境使用属性文件。我发现的问题是某些 unicode 字符在 Web 浏览器中没有正确显示。网页在字符集元标记中指定了 UTF-8 编码,并且浏览器已正确检测到它(在 Firefox View->Character Encoding 中似乎选择了正确的编码)。我相信这个问题来自这样一个事实,即当应用程序将文本显示为 UTF-8 时,属性文件以 ISO*xxxx 编码保存,这恰好是一些 eclipse 默认设置。
我在这里发现了一个类似的问题:Eclipse 中的 Java 属性 UTF-8 编码,它建议我安装 Resource Bundle Plug-in。我安装并使用插件编辑相应的属性,但我仍然有问题。
是否有一个快速的解决方案(我的意思是一个不会对应用程序造成太多变化的解决方案,因为它已接近完成阶段)可以克服我遇到的问题。
也许我应该提到我正在使用 Firefox 7 在 Ubuntu Linux 操作系统下开发和观察问题。提前致谢。
编辑:我没有提到重要的事情。我的用户界面是用 GWT 编写的,属性由一个接口公开,该接口在 GWT 用于在内部创建该接口的实现并链接到相应属性的 getter 上有注释。所以我想我对如何实际读取属性没有太多控制,或者至少我不知道如何在 GWT 中做到这一点。
我已经安装了poedit并通过它运行我的文件,它为它们创建了.po和.mo文件.但我有一个问题,加载和使用这些文件来翻译我的文本.我不知道如何加载或打开翻译的文件并显示翻译的内容.任何人都可以帮我这个.我尝试了所有可能的来源,但没有成功.
我想要实现的是在以下列方式定义的查询上设置结果转换器:
String hqlQueryString = "select o.id as id, o.name as objectName from MyObject";
Class resultClass = MyObject.class;
Query query = session.createQuery(hqlQueryString).setResultTransformer(
new new AliasToBeanResultTransformer(resultClass));
List result = query.list();
Run Code Online (Sandbox Code Playgroud)
MyObject看起来像这样:
public class MyObject {
private int id;
private String objectName;
public int getId() {
return id;
}
public void setId(int value) {
this.id = value;
}
public String getObjectName() {
return objectName;
}
public void setobjectName(String value) {
this.objectName = value;
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,虽然我已指定id
并objectName
成为我的别名,但正在执行的实际查询使用不同的别名.这导致我AliasToBeanResultTransformer
无法构造,MyObject …
有一个简单的例子,我想要实现的是,当文本字段改变时,两个模型都应该改变.这可能不使用$ watch吗?
想象一下喜欢或投票页面的按钮.我需要这个按钮来发送Ajax请求来记录用户的喜欢.
点击按钮的人很快很多次,导致一些Ajax请求.
我该如何解决这个问题?
当人们单击按钮(span
)时,我需要阻止它再次发送Ajax请求,直到完成上一个Ajax请求
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<span onclick="send_ajax(this)">send_ajax</span>
<script type="text/javascript">
function send_ajax(node){
$.ajax({
url:'ajax.php',
type:'POST',
data: {},
success:function() {
}
});
}
</script>
Run Code Online (Sandbox Code Playgroud) 在阅读关于jQuery对象的jQuery 文档时,我遇到了这一行:
或者,因为jQuery对象是"类似数组的",它支持通过括号进行数组下标:
// Selecting only the first 'h1' element on the page (alternate approach)
var firstHeaderElem = $("h1")[ 0 ];
Run Code Online (Sandbox Code Playgroud)
我使用jQuery这三个段落测试了这个:
$(document).ready(function() {
var t = $("p")[0];
$("button").click(
function()
{
t.fadeOut();
});
});
Run Code Online (Sandbox Code Playgroud)
它不起作用.这是因为使用数组表示法并不真正返回一个jQuery对象,因此这些方法不可用?
我有一个目录名称"C:\ Folder\160_Name_2013111914447.7z"我需要从C#中的文件名中提取"160"并使用它将其传递给MS-SQL方法,以便我可以将文件移动到一个正确的文件即"160".
请帮助,因为我是C#的新手.
我有一个对象,我在一个方法初始化,如:
public void something()
{
Dummy obj = Factory.getDummy();
method2(obj);
}
Run Code Online (Sandbox Code Playgroud)
现在,这个Dummy
对象将被许多方法使用
public void method2(Dummy obj)
{
method2(obj);
....
}
Run Code Online (Sandbox Code Playgroud)
现在,我怀疑这种情况必须如何处理,就像我这样做.或者,obj
在something
类级别字段中创建并初始化something
.
喜欢:
private Dummy obj;
public void something()
{
obj = Factory.getDummy();
method2(obj);
}
Run Code Online (Sandbox Code Playgroud)
并用于后续方法.(从方法中删除参数).
那么,处理这种情况的最佳方法是什么?为什么?
我在编写SQL代码时难以从访问表中选择8列中的不同联系人.我想只得到不同的结果,没有重复.以下是我尝试过的.
cmd.CommandText = "select distinct c1, c2, c3, c4, c5, c6, c7, c8
from table
where state IN (" + paramClause.ToString() + ")";
Run Code Online (Sandbox Code Playgroud)
我的目的是在没有重复的标签上显示这个.