JSP項目開發常用技術總結

來源:互聯網
上載者:User

1、Jquery以POST形式提交表單:

$.ajax({
      type:"POST",
      async: false,
     url:"addBgNetdisk.action",
     data:$("#form1").serialize(),
     success:function()
     {
      setTimeout("parent.tb_remove(1);parent.ts()",0);
     } 
     });   

2、Jquery以GET方式擷取資料並執行回呼函數:

$.ajax({
            url: 'showSchoolName.action?random='+Math.random(),
            async:false,
            type: 'GET',     
            success:callback1
        });
        //回呼函數
         function callback1(da)
         {  
          var json=eval(da);       
              var schoolname =json[0].schoolname;
                document.getElementById("systemname").innerHTML=schoolname;
          }   

3、Jquery以GET方式擷取資料並直接使用

var str=$.ajax({url:'bmksjson.action',type:'GET',async:false,cache:false}).responseText;  

 

4、動態改變Action的方法,有些時候,比如進行資料檢索後,再次顯示查詢結果時,這時好像必須用POST提交,用AJAX提交就不太方便了。

   var form = document.getElementById("form1");   

   form.action="showaction.action";
   form.submit();

 

5、eclipse提示The import javax.servlet cannot be resolved

servlet中的import java.servlet.*;這個包在哪裡

這個包是tomcat裡面的,並不在JDK當中
下載tomcat後將lib檔案夾下的jsp-api.jarservlet-api.jar這兩個包添加到classpath下,就可以匯入這個包了
正確的語句是import javax.servlet.*;而不是import java.servlet.*;

 6、迭代的用法樣本:

 

<s:if test="#request.totalRows==0">
      <tr class="out" onmouseover="highThis(this,0)" onmouseout="highThis(this,1)">
       <td colspan="6">
        無查詢結果
       </td>
      </tr>
     </s:if>
     <s:else>
      <s:iterator value="#request.pagebean.queryList" status="rsDepartment" id="department">
        <tr class="out" onmouseover="highThis(this,0)" onmouseout="highThis(this,1)">
       
        <td>
        <s:if test="DISABLED==0">        
         <input id="chk" type="checkbox" name="chk" value="<s:property value="BM_ID"  />" onclick='odd(form)' />
        </s:if>
        <s:else>
         <input id="chk" type="checkbox" name="chk" disabled="disabled" />
        </s:else>
        </td>
        <td>  
         <s:property value="#rsDepartment.index+1" />
        </td> 
        <td>
         <a title="部門簡介:<s:property value="BMJJ" />"><s:property value="BMMC" /></a>
        </td>
        <td>
         <a href='listrsKs.action?id=<s:property value="BM_ID" />'
          target="_self">維護科室</a>
        </td>
        <td>
         <input type="text" value=<s:property value="SORT_ID"/>
          style="width: 50px"
          onkeyup="if(/[^0-9]/g.test(this.value)){this.value=this.value.substr(0,this.value.length-1)}"
          id="<s:property value="BM_ID" />" />
        </td>
        <td>
         <input class="button_edit" type="button" value="" title="修改" style="cursor:pointer"
          onClick="modifybm(<s:property value="BM_ID" />)" />
         <s:if test="DISABLED==0">
          <input class="button_del" type="button" value=""  title="刪除" style="cursor:pointer"
           onClick="delbm(<s:property value="BM_ID" />)" />

         </s:if>
         <s:else>
          <input class="button_nodel" type="button" value=""
           disabled="disabled" title="該部門下有下級科室或有人員,不能刪除該部門。" />
         </s:else>
        </td>
       </tr>
      </s:iterator>
     </s:else>

 7、

Struts2擷取request

 

在Action中擷取request方法一:
在Action中的代碼:
Map request = (Map)ActionContext.getContext().get("request");
List<Task> tasks = taskManager.findAll();
request.put("tasks", tasks);
在JSP頁面中擷取其中的值:
<s:iterator id="task" value="#request.tasks">
<tr class="table_header">
<td><s:property value="#task.tname"/></td>
<td><s:property value="#task.tuid"/></td>
<td><s:property value="#task.tstartTime"/></td>
<td><s:property value="#task.tendTime"/></td>
<td><s:property value="#task.tstate"/></td>
<td><input type="radio" id="choose" name="choose" onclick="getId(this.value)" value="<s:property value='#task.tid'/>"/></td> 
</tr>
</s:iterator>
--------------------------------------------------------------------------------------------

 

方法二:通過ServletActionContext類來擷取
Action中代碼:
HttpServletRequest request = ServletActionContext.getRequest();
request.setAttribute("username", "zhangsan");
在jsp中擷取其中的值
<s:property value="#request.username">或者${requestScope.req}

-------------------------------------------------------------------------------------------- 
方法三:通過ServletRequestAware介面通過IOC機制注入Request對象
Action中的代碼:
Action實現ServletRequestAware介面,實現介面中的方法
private HttpServletRequest request;
//實現介面中的方法
public void setServletRequest(HttpServletRequest request){
this.request = request;
}
//然後在execute()方法中就可以使用了
public String execute(){
request.setAttribute("username", "zhangsan");
request.getSession().getServletContext().getApplication(); //得到Application
}
該方法必須要實現,而且該方法是自動被調用
這個方法在被調用的過程中,會將建立好的request對象通過參數的方式傳遞給你,你可以用來賦給你本類中的變數,然後request就可以使用了
注意:setServletRequest()方法一定會再execute()方法被調用前執行
在jsp頁面中擷取其中的值
<s:property value="#request.task.tname"/>

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.