java内省
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java内省,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1399字,纯文字阅读大概需要2分钟。
内容图文
![java内省](/upload/InfoBanner/zyjiaocheng/813/3f1f21d11376480d8011112494f550f4.jpg)
1.Java的内省机制是基于JavaBean的
主要是用在框架底层
2.让后台的Model对象统一的接收表单提交过来的参数
servlet
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
user u=new user();
populate(request.getParameterMap(),u);
System.out.println(u);
}
private void populate(Map<String,String[]> map,user u){
try {
Map<String,String[]> params=map;
//1 获得 java Bean的描述信息
BeanInfo info =Introspector.getBeanInfo(user.class);
//2 获得 User中的属性信息
PropertyDescriptor [] pds =info.getPropertyDescriptors();
//3 遍历属性信息
for (PropertyDescriptor pd : pds) {
String[] param=params.get(pd.getName());
if (param!=null && param.length>0) {
pd.getWriteMethod().invoke(u, param[0]);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
javaBean
public class user {
private String name;
private String password;
public user(){
super();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "user [name=" + name + ", password=" + password + " ]";
}
}
jsp
<body>
<form action="/JavaBean/BServlet" method="post" >
用户名:<input type="text" name="name" /><br>
密码:<input type="password" name="password" /><br>
<input type="submit" /><br>
</form>
</body>
内容总结
以上是互联网集市为您收集整理的java内省全部内容,希望文章能够帮你解决java内省所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。
来源:【匿名】