簡體   English   中英

使用jQuery或JavaScript讀取屬性文件

[英]Read properties file using jQuery or JavaScript

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

不應該在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;
 }
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;
         }

您可以使用我創建的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;
}

如果有人需要Web應用程序的幫助,請參閱我的答案 ,該答案解釋了從項目目錄中的屬性文件中讀取屬性的最簡單方法。 總之,您將能夠在隱藏的輸入中填充一些選定的屬性,然后從JavaScript中讀取隱藏的輸入值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM