1. 程式人生 > >頁面之間傳遞值,mvc引數問題(前後臺)

頁面之間傳遞值,mvc引數問題(前後臺)

頁面之間傳遞值===============

用內建物件request以一個頁面
<%request.setAttribute("txt", "生活服務") %>
第二個頁面
<%String txt = request.getAttribute("txt") %>(屬性)
<th><%=txt %></th>

也可以吧一個頁面的“生活服務”作為引數(?txt=生活服務)傳到第二個頁面,用<%request.getParameter("txt") %>獲取就行了(引數)

這種就是相當於在值棧中,也可直接用<input type="hidden" name="roleid" id="roleid" value="${id}">

var roleId=$("#roleid").val();//這樣就實現了jsp--js//隱藏域


==================================
model中add的,跳轉時傳的引數是,傳給後面要跳轉的頁面,在mvc中註解表明的往往是要跳轉的頁面,標籤下面的方法引數是前面請求這個頁面的引數,方法體是處理這些引數後返回給註解的引數,隱藏域,就是在跳轉之前用?或model.set傳入,然後註解頁面用隱藏域獲取,之後js獲取
向即將跳轉頁面傳值
return "redirect:index.do?szie=1";
model.addAttribute(“szie”,szie);,index接收到size後跳轉前modeladd才可到值棧中,被index直接用jstl表示式用


model.addObject("parentMenus", parentMenus);   ///////////////////////////////////////////////////////////////一個key,對應對個value

不用回撥用值棧, 用model.addAttribute   此時jsp用此
<%--  <c:choose>
                        <c:when test="${roledetl.status==1}">
                        <input class="width_240" name="status"   value=" 有效" />
                        </c:when>
                         <c:when test="${roledetl.status==0}">
                        <input class="width_240" name="status"   value=" 無效" />
                        </c:when>
                       </c:choose> --%>
                      <%--  <c:if test="${roledetl.status==1}">
                       <input class="width_240" name="status"   value=" 有效" />
                       </c:if> --%>
                        <select name="status" class="width_240">
                                <option value="1" <c:if test="${roledetl.status==1}">selected="selected"</c:if>>有效</option>
                                <option value="0" <c:if test="${roledetl.status==2}">selected="selected"</c:if>>無效</option>
                         </select>
                         <select name="status" class="width_240">
                                <option value="0" selected="selected">===請先選擇===</option>
                                <c:forEach items="${item}" var="item" >
                                <option value="${item.id }" selected="selected">${item.name }</option>
                                </c:forEach>
                         </select>

不用回撥用值棧, 用model.addAttribute前臺用jstl表示式




==============================================================
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>



<td><select name="org" class="width_240">
                                <option value="0" selected="selected">===請先選擇===</option>
                                <c:forEach items="${orgs}" var="item" >
                                <option value="${item.id }" >${item.orgName }</option>
                                </c:forEach>
                         </select>
                         </td>

@RequestMapping(value = "/edit")
    public void edit(Long id,Model model) {

        if (id != null) {
        User roledetl = userService.getUserForEditById(id);
            model.addAttribute("roledetl", roledetl);
           List<Organization> orgs=  organizationService.getOrganization();
            model.addAttribute("orgs", orgs);
//            model.addAttribute("areas", acountService.getDictDataListByTypeCodeAndParentId(StaticUtil.PROVINCE_CITY, organization.getCityId()));
        }
//        model.addAttribute("provinces", acountService.getDictDataListByTypeCode(StaticUtil.PROVINCE_CITY));
//        model.addAttribute("roledetl",null);
    }










        ===================================
方法二    model.addObject("parentMenus", parentMenus);   ///////////////////////////////////////////////////////////////一個key,對應對個value
<c:forEach items="${parentMenus}" var="parent">
        <c:choose>
            <c:when test="${parent.isleaf=='0'}">
                <div class="titleArea_normal" ><i class="icon_spgl"></i>${parent.menuName}</div>
                <div class="box3" style="display: none">
                    <c:forEach items="${parent.childs}" var="item">
                        <c:choose>
                            <c:when test="${!empty item.url}">
                                <a class="list" href="${pageContext.request.contextPath}${item.url}" target="mainFrame"><span>${item.menuName}</span></a>
                            </c:when>
                            <c:otherwise>
                                <a   class="list" href="javascript:void(0)" target="mainFrame"><span>${item.menuName}</span></a>
                            </c:otherwise>
                        </c:choose>
                    </c:forEach>
                </div>

            </c:when>
            <c:when test="${parent.isleaf=='1'}">
                <a class="titleArea_normal  firstShow"  href="${pageContext.request.contextPath}${parent.url }" target="mainFrame"><i class="icon_home1"></i>${parent.menuName}<input type="hidden"/></a>
            </c:when>
        </c:choose>
    </c:forEach>
  
方法三 直接用@ResponseBody  結合ajax
  
  
隱藏域

頁面a  var roles = "<a name='showMenu' href='${pageContext.request.contextPath}/system/users/userroles.do?id=" + lineData["id"] + "'  class='cyan'>【授使用者組】</a>";

  String id = request.getParameter("id");
<%=id %>

隱藏域
@RequestMapping(value = "/userroles")
    public void checkbox( @RequestParam Long id ,Model model ) {
    model.addAttribute("id", id);

    }
<div>
<input id="userId" type="hidden" value="${id }">
</div>