我是jquery的新手。我想使用javascript或jquery在我的jsp页面中读取Java属性文件。我很担心但不满意。
我的应用程序由Struts2,Eclipse Juno和Windows7开发。这是我的javascript
function checkedRadioForDelete(f) {
var chx = document.getElementsByTagName('input');
for ( var i = 0; i < chx.length; i++) {
if (chx[i].type == 'radio' && chx[i].checked) {
var con = confirm("Are you sure to delete?");
if (con != true) {
} else {
f.action = "MyAction.action";
f.submit();
}
return true;
}
}
alert("Please select one.");
return false;
}
这是我的属性文件
msg.confirm=Are you sure to delete?
msg.alert=Please select one.
我想从属性文件中读取确认和警告框值。那么可以使用Ajax或jquery或javascript吗?
答案 0 :(得分:4)
一个人不应该在JSP中使用scriptlet,你可以使用struts2标签轻松完成。
在JSP中更改您的Javascript,如下所示:
function checkedRadioForDelete(f) {
var chx = document.getElementsByTagName('input');
for ( var i = 0; i < chx.length; i++) {
if (chx[i].type == 'radio' && chx[i].checked) {
var con = confirm("<s:text name="msg.confirm"/>");
if (con != true) {
} else {
f.action = "MyAction.action";
f.submit();
}
return true;
}
}
alert("<s:text name="msg.alert"/>");
return false;
}
答案 1 :(得分:2)
Note: Updating my answer based on comments.
In your JSP page you can use scriptlets within javascript function (or tag)
function checkedRadioForDelete(f) {
var confirmMessage = '<%= properties.getProperty("confirm.message") %>';
var alertMessage= '<%= properties.getProperty("alert.message") %>';
var chx = document.getElementsByTagName('input');
for ( var i = 0; i < chx.length; i++) {
if (chx[i].type == 'radio' && chx[i].checked) {
var con = confirm(confirmMessage);
if (con != true) {
} else {
f.action = "MyAction.action";
f.submit();
}
return true;
}
}
alert(alertMessage);
return false;
}
答案 2 :(得分:2)
您可以使用我创建的messageResource.js库来加载javascript属性。
1)包含messageResource.js。
<script src="messageResource.min.js"></script>
2)更改javascript如下。
// initialize messageResource.js
messageResource.init({
// path to directory containing properties files
filePath : 'path/resource'
});
function checkedRadioForDelete(f) {
// get values from properties files
var confirmMsg = messageResource.get('msg.confirm', 'fileName');
var alertMsg = messageResource.get('msg.alert', 'fileName');
var chx = document.getElementsByTagName('input');
for ( var i = 0; i < chx.length; i++) {
if (chx[i].type == 'radio' && chx[i].checked) {
var con = confirm(confirmMsg);
if (con != true) {
} else {
f.action = "MyAction.action";
f.submit();
}
return true;
}
}
alert(alertMsg);
return false;
}
答案 3 :(得分:0)
如果有人需要Web应用程序的帮助,请参阅我的answer,它解释了从项目目录中的属性文件中读取属性的最简单方法。 总之,您将能够在隐藏的输入中填充一些选定的属性,然后从JavaScript中读取隐藏的输入值。