zoukankan      html  css  js  c++  java
  • 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"/>

  • 相关阅读:
    相对路径和绝对路径的问题"/"带不带斜杠
    El表达式获取项目名称
    struts 中的创建Action的三种方法
    maven中的profile文件的解析
    Maven中模块的聚合以及对jar包的继承
    Maven中解决依赖冲突的问题
    maven中的传递依赖和传递依赖的解除
    String类为什么是final的
    jdbc 报错解决办法
    org.hibernate.PropertyValueException: not-null property references a null or transient value:
  • 原文地址:https://www.cnblogs.com/littlehb/p/2490025.html
Copyright © 2011-2022 走看看