使用jQuery或JavaScript读取属性文件

时间:2013-12-06 04:47:56

标签: java javascript jquery struts2

我是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吗?

4 个答案:

答案 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中读取隐藏的输入值。