JSP项目开发常用技术总结

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=" 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"/>

原文地址:https://www.cnblogs.com/littlehb/p/2490025.html