从html访问动态到json

时间:2015-10-27 11:22:11

标签: javascript json angularjs html5 ionic

我正在使用角度翻译:

@WebServlet ("/customers/*")
public class CustomerServlet extends VelocityViewServlet {
    private static final String CUSTOMERS = "/customers"

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String uri = request.getRequestURI();
        if(uri.equals(CUSTOMERS)){
            String view = Path.getTemplate("/customers/index.vm");
            request.setAttribute("headerTitle", "Customers");
            request.getRequestDispatcher(view).forward(request, response);
        }else if(...){
            ...
        }
    }
}

使用英文字典的JSON文件:

<script src="lib/angular-translate/angular-translate.min.js"></script>
    <script src="lib/angular-translate-loader-static-files/angular-translate-loader-static-files.min.js"></script>

现在我有功能(ng-repeat)动态编写我的侧边菜单,但是我遇到了获取JSON文件名称的问题。

如果我使用:

{
  "test": "test_en",
  "menu": {
    "home": "home",
    "config": "settings",
    "logout": "log out"
  }
}

输出正确:test_en

但我如何访问menu.home?

菜单名称或结构称为元素,如果我使用

<span class="menuname">{{"test" | translate}}</span>

我得到,回家,配置,......所以我正在寻找类似的东西:

<span class="menuname">{{element.menuname}}</span>

感谢。

修改

menu.html

<span class="menuname">{{"test.[element.pagename]" | translate}}</span>
app.js中的

<ion-side-menus enable-menu-with-back-views="false">
    <ion-side-menu-content></ion-side-menu-content>
    <ion-side-menu side="left">
        <ion-content>
            <div class="list-group" ng-controller="ListMenuItems as ItemList ">
                <div ng-repeat="element in ItemList.menuitems" >
                    <a class="item padding_0" menu-close ng-href="{{element.sref}}" ng-class="navClass('{{element.pagename}}')">
                        <div class="centered">
                            <img ng-src="{{element.img2show}}" />
                            <span class="menuname">{{"menu.[element.pagename]" | translate}}</span>
                        </div>
                    </a>
                </div>
            </div>
        </ion-content>
    </ion-side-menu>
</ion-side-menus>

1 个答案:

答案 0 :(得分:0)

请提供完整的代码作为exapmle。

否则,我会假设您在span之前不使用ng-repeat。

您应该使用:

<div ng-repeat="item in JSONs">
<span class="menuname">{{item.item | translate}}</span>
<span class="menuname">{{item.menu | translate}}</span>
<span class="menuname">{{item.menu.home | translate}}</span>
<span class="menuname">{{item.menu.config | translate}}</span>
<span class="menuname">{{item.menu.logout | translate}}</span>
</div>