web开发中遇到的问题

1.有两个选项一个开通一个不开通,开通选项下又有个下拉框。如果选中的是开通按钮则将其下拉框的值保存并能传入下一个页面这该怎么做呢?

可以用cookie做保存!首先通过jQuery取得value,再通过判断value是否为开通的value,如果是则将选中的下拉框的值setCookie里,这样如果下个页面想拿到这个值就能通过getCookie方法。


2.添加字段

当需要添加一个字段的时候,首先需要找到其相应的数据库,看数据库中是否存在这个字段如果不存在则添加这个字段,然后再在相应的实体类去添加进这个属性。接下来再根据操作一步一步向下走...看这些数据是如果进行传递的最后是如果保存的


3.关于取到下拉框值的问题

如果这个下拉框处于别的方法内,那么这个下拉框拿值是根据那个方法的触发来决定的!如果想要通过光标选中来决定下拉框中的值,那就要给这个下拉框加一个onclick事件,这样每次光标选中的是下拉框中的哪个值那么拿到的就是哪个值


4.怎么看引用是否成功?

Ctrl+左键如果能跳转到那就说明引用成功了!


5.js的引用问题

当一些图片等资源不想经过后台处理直接访问的时候就需要用spring mvc配置静态资源来访问,没有被配置成静态资源(static)的是不能被直接访问到的。


6.塞值和拿值

在jsp和后台拿值的时候要注意拿到的值的名字是否和前面传进来的参数名一样,如果不一样是肯定拿不到的 比如:前面用G35909为参数名传值,而后面却用g3509去拿值 这样是拿不到的。


7.JS方法要注意的问题

JS方法中参数的类型和个数是否和你要传进来的参数个数和类型都一样


8.Class<T>问题

类 Class 已经泛型化了,但是很多人一开始都感觉其泛型化的方式很混乱。Class<T> 中类型参数 T 的含义是什么?事实证明它是所引用的类接口。怎么会是这样的呢?那是一个循环推理?如果不是的话,为什么这样定义它?

在以前的 JDK 中,Class.newInstance() 方法的定义返回 Object,您很可能要将该返回类型强制转换为另一种类型:

class Class { 
     Object newInstance();
 }

但是使用泛型,您定义 Class.newInstance() 方法具有一个更加特定的返回类型:

class Class<T> { 
     T newInstance(); 
}

如何创建一个 Class<T> 类型的实例?就像使用非泛型代码一样,有两种方式:调用方法 Class.forName() 或者使用类常量X.class。Class.forName() 被定义为返回 Class<?>。另一方面,类常量 X.class 被定义为具有类型 Class<X>,所以 String.class 是Class<String> 类型的。

让 Foo.class 是 Class<Foo> 类型的有什么好处?大的好处是,通过类型推理的魔力,可以提高使用反射的代码的类型安全。另外,还不需要将 Foo.class.newInstance() 强制类型转换为 Foo。

考虑一个方法,它从数据库检索一组对象,并返回 JavaBeans 对象的一个集合。您通过反射来实例化和初始化创建的对象,但是这并不意味着类型安全必须完全被抛至脑后。考虑下面这个方法:

public static<T> List<T> getRecords(Class<T> c, Selector s) {
     // Use Selector to select rows 
     List<T> list = new ArrayList<T>();
     for (/* iterate over results */) {
         T row = c.newInstance(); // use reflection to set fields from result 
         list.add(row); 
      } 
      return list; 
}

可以像下面这样简单地调用该方法:

List<FooRecord> l = getRecords(FooRecord.class, fooSelector);

编译器将会根据 FooRecord.class 是 Class<FooRecord> 类型的这一事实,推断 getRecords() 的返回类型。您使用类常量来构造新的实例并提供编译器在类型检查中要用到的类型信息。


2014-05-08

1.form表单提交问题

form表单如果是提交给后台然后再跳下一个页面的话,下一个页面能自动获得from表单里的数据;如果不经过后台处理而直接跳下一个页面的话,下一个页面是不能自动获取到from表单的数据的,这个时候可以通过cookie来传递数据,前一个页面将form表达里的数据塞进cookie中,下一个页面再从cookie里把form表单里的数据取出来。


2014-05-14

1.获取下拉框选中值的方法

$("#gift option:selected").val();


2.form表单塞值的方法

$("#postform input[name='isGift']").val(isgift);


3.获得radio选中值的方法

$("input:radio[name='deputyCard']:checked").val();


2014-05-27

1.关于Ibatis模糊查询

有两种方法可以实现:

       1:<select id="UserPass.getByName" parameterType="String" resultMap="RM.UserPass">
<![CDATA[
SELECT * FROM user_pass WHERE  username  LIKE  "%"#{userName}"%"
]]>
</select>

这种方法简单,不需要再对DAO类做修改,但缺点是扩展性差。

     2:public List<UserPass> getByName(String username){
Map map = new HashMap<String, String>();
map.put("userName", username);
return  this.getSqlSessionTemplate().selectList("UserPass.getByName", map);
}


<select id="UserPass.getByName" parameterType="String" resultMap="RM.UserPass">
<![CDATA[
SELECT * FROM user_pass WHERE  username  LIKE  "%"#{userName}"%"
]]>
</select>

这种方法需要对DAO做修改,但好处是可扩展性很好。

"%"#{userName}"%"这是模糊查询的关键,%是关键字所以需要用“”引起来,不然程序跑起来会报错。切记!!


2.关于Ibatis查询的问题

<select id="UserPass.getAll" resultMap="RM.UserPass">
<![CDATA[
SELECT * FROM user_pass 
]]>
</select>

当使用了select查询语句的时候一定要有个resultMap="RM.UserPass"将查询出来的数据保存,不然查询不出来结果。


3.关于json数据和页面交互的问题

@RequestMapping(value="/findAll",method=RequestMethod.POST)
@ResponseBody
public Map<String ,String> findAll(HttpServletRequest request){
Map<String ,String> map = new HashMap<String, String>();
List<UserPass> list = userpassmanager.getAll();
net.sf.json.JSONArray obj = net.sf.json.JSONArray.fromObject(list);
String json = obj.toString();
map.put("status", "success");
map.put("result", json);
return map;
}

这里是将查询出来的数据转换成了json,然后再将json保存进map中来返回给页面。

<script type="text/javascript">
function findAll(){
$("#table").show();
$.ajax({
url:'${ctx}/user/findAll',
type:'post',
dateType:'json',
success:function(data){
if(data.status =="success"){
$("tr").remove();
json = eval(data.result)
var item="";
 for(var i=0; i<json.length; i++)
 {
     item = "<tr><td>"+json[i].id+"</td><td>"+json[i].username+"</td><td>"+json[i].password+"</td><td><input type='button' value='删除' οnclick='deleteById("+json[i].id+")'></td></tr>";
$("#table").append(item);
 }
}

}
})
}

<script>

页面接收到map,并将map里的数据通过表格的形式展示出来。

  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值