java自定义标签怎么写(自定义标签怎么写)
1.自定义标签怎么写
转贴一篇文章,义务作一下普及工作吧.1. 什么是自定义标签 答:1) 用户自定义的Java语言元素, 实质是运行一个或者两个接口的JavaBean; 2) 可以非常机密地和JSP的表示逻辑联系在一起,又具有和普通JavaBean相同的业务逻辑处理能力; 2) 当一个JSP页面转变为servlet时,其间的用户自定义标签转化为操作一个称为标签hander的对象; 3) 可操作默认对象,处理表单数据,访问数据库以及其它企业服务; 2. 自定义标签库的特点 答:1) 通过调用页面传递参数实现定制; 2) 访问所有对JSP页面可能的对象; 3) 修改调用页面生成的响应; 4) 自定义标签间可相互通信; 5) 在同一个JSP页面中通过标签嵌套,可实现复杂交互。
3. 如何使用自定义标签库 答:1) 声明标签库 2) 使标签库执行对Web应用程序可用 4. 声明标签库 答:1) 使用taglib指令声明标签库 2) 语法: 注意:a. uri属性可以是绝对的,也可以是相对URL,该URL指向标记库描述符(TLD)文件; b. uri属性也可以是一个并不存在的URL,该URL为web.xml文件中将标记库描述符(TLD)文件的绝对URL到本地系统的一个映射; 3) 范例: 5. 使标签库执行可用 答:方式一:在WEB-INF/classes目录下部署标记处理程序类; 方式二:将标记处理程序类打包成jar文件并置于WEB-INF/lib目录。 6. 几种典型的标签(疑问:可以有带主体而没有属性的标签么?) 答:1) 不带属性和主体的简单标签:; 2) 不带主体但有属性的标签:; 3) 带有主体和属性的标签: 。
// 标签体 ; 注意:a. 属性列于start tag中,它是在标记库描述符(TLD)文件中指定,服务于标记库的自定义行为; b. 标签体位于start tag和end tag间,可以是任何合法的JSP内容或者标签; 7. 定义标签 答:1) 开发实现tag的类(tag handler); 2) 编辑标记库描述符(TLD)文件; 3) 在web.xml中为标记库描述符(TLD)文件的绝对URL建立一个映射(该步骤可选); 8. 标记库描述符(TLD)文件 答:1) 一个描述标记库的XML文件; 2) 内容开始是整个库的描述,然后是tag的描述; 3) 标记库描述符(TLD)文件用于Web Container确认tag以及JSP页面发展工具;。
2.自定义标签怎么写的啊
(1) 编写JSP,在JSP中使用自定义标签。
(2) 在web.xml中指定JSP中使用的标签的.tld(标签库描述文件)文件的位置。 (3) .tld文件中指定标签使用的类。
3. 自定义标签的分类: (1) 简单标签:如< mytag:helloworld/> (2) 带属性标签:如
JSP技术在javax.servlet.jsp.tagext中提供了多个Tag Handler接口,JSP1.2中定义了Tag、BodyTag、IterationTag接口,在JSP2.0中新增了SimpleTag接口。JSP还提供了上述接口的实现类TagSupport、BodyTagSupport和SimpleTagSupport(SimpleTagSupport只在JSP2.0中才有)。
BodyTagSupport实现了BodyTag、Tag和IterationTag接口。 接口及其方法 Tag接口 方法 SimpleTag dotage Tag doStartTag,doEndTag,release IterationTag doStartTag,doAfterTag,release BodyTag doStartTag,doEndTag,release,doInitBody,doAfterBody。
3.关于Java中自定义标签
TagSupport举例:public class LangHuaTag extends TagSupport { private long startTime; private long endTime; public int doStartTag() throws JspException { startTime = System.currentTimeMillis(); //表示定制标记里面有所包括的JSP页面 return TagSupport.EVAL_BODY_INCLUDE; } public int doEndTag() throws JspException { endTime = System.currentTimeMillis(); long elapsed = endTime - startTime; try { JspWriter out = pageContext.getOut(); out.println("runtime is "+ elapsed); } catch (IOException e) { e.printStackTrace(); } //表示JSP页面继续运行 return TagSupport.EVAL_PAGE; } } Html代码 <%@ taglib prefix="util" uri="/taglib/util"%>
大概书名是如此。
呵呵。
自定义异常怎么写
1.JAVA 自定义异常是怎么使用的
在别的方法可能抛你这个异常的时候。你在这个方法上面加一个 throws MyException
然后在可能发生异常的代码里面写throw new MyException();
比如说 你写了个除法的方法。.. chufa(int a, int b)
当b == 0 的时候你可以这样
if(b == 0){
throw new MyException("除数不能为0");
}
这样就抛出了你自己的异常来提示错误信息..
2.C++自定义的类成员函数,怎么自定义异常
try
{
int *p = new int[10];
if (!p)
throw 1;
}
catch(int)
{
cout<<"error";
}
自定义异常就是把可能出错的地方用try, 然后在try里如果检测到异常, 用throw抛出一个异常, 为了区别异常, 用类型区别, 因为一个try里可能有多个错误类型.
然后用catch把相对应的类型接收, 然后执行相对应的代码.
这里抛出的类型只是为了作区别, 没多大的实际用处. 不过你可以:
catch(int i)
{
cout<<i<<endl;
}
这样会输出1
3.如何编写和应用Java的自定义异常类
编写自定义异常类实际上是继承一个API标准异常类,用新定义的异常处理信息覆盖原有信息的过程。
常用的编写自定义异常类的模式如下:public class CustomException extends Exception { //或者继承任何标准异常类 public CustomException() {} //用来创建无参数对象 public CustomException(String message) { //用来创建指定参数对象 super(message); //调用超类构造器 } 当然也可选用Throwable作为超类。其中无参数构造器为创建缺省参数对象提供了方便。
第二个构造器将在创建这个异常对象时提供描述这个异常信息的字符串,通过调用超类构造器向上传递给超类,对超类中的toString()方法中返回的原有信息进行覆盖。来讨论一个具体例子。
假设程序中需要验证用户输入的表示年龄的数据必须是正整数值。我们可以按照以上模式编写这个自定义异常类如下: public class NegativeAgeException extends Exception { //或者:extends Throwable public NegativeAgeException() {} public NegativeAgeException(String message) { super(message); }} 下面是应用这个自定义异常类的例子: //完整程序存在本书配套资源目录为Ch11中名为.java。
try{ String ageString = JOptionPane.showInputDialog("Enter your age: "); if (Integer.parseInt(ageString) < 0) throw new NegativeAgeException("Please enter a positive age"); else JOptionPane.showMessageDialog(null, ageString, "Age", 1);}catch(NegativeAgeException e){ System.out.println(e);}。 或者,可以创建一个缺省对象,然后在catch中打印具体信息,如: throw new NegativeAgeException(); 。
catch (NegativeAgeException e) { System.out.println("Please enter a positive age"); 将产生与第一个例子相同的效果。11.7.2 自定义异常处理 无论是利用标准API异常类来处理特殊的异常,或者编写自定义的异常类来达到同样目的,问题的关键是:<!--[if !supportLists]-->1. 当这个异常发生时,如何及时捕获这个异常。
<!--[if !supportLists]-->2. 捕获这个异常后,如何产生精确的异常处理信息。 毋庸置疑,我们不可能期待JVM自动抛出一个自定义异常,也不能够期待JVM会自动处理一个自定义异常。
发现异常、抛出异常以及处理异常的工作必须靠编程人员在代码中利用异常处理机制自己完成。一般情况下,发现和抛出一个自定义异常通过在try程序块中利用if和throw语句完成,即: try { 。
if (someExceptionConditon == true) { throw new CustomException("A custom exception xxx occurred. Please check your entry。") 。
}catch (CustomException e) { 。} 而打印异常处理信息可以在抛出时包括在构造器的参数中,或者包括在处理这个异常的catch中。
另外应该注意在自定义异常发生之前,有可能产生标准异常的情况。例如,在一个需要验证年龄必须是正整数值的程序中,利用自定义异常类,如NegativeAgeException,验证输入的年龄是否正整数,即: try { 。
if (Integer.parseInt(ageString) < 0) throw NegativeAgeException("Please enter a positive age"); else 。 } catch (NumberFormatException e) { System.out.println(e); } catch (NegativeAgeException e) { System.out.println(e); } 。
注意在这个代码中,如果ageString是非法整数字符串,如“25ab”,系统将首先抛出NumberFormatException,而不会执行throw NegativeAgeException("Please enter a positive age")。所以应该在catch中加入对NumberFormatException的处理,如以上代码所示。
4.如何编写java中的自定义异常类
public class MwException extends Exception{
public MwException(String msg)
{
super(msg);
}
public MwException(Throwable thMsg)
{
super(thMsg);
}
public MwException(String errMsg,Throwable expMsg)
{
super(errMsg,expMsg);
}
}
5.Java自定义异常类
public void MyException extends Exception{
public MyExceprion(){
System.out.println("自定义异常");
}
}
public class Exam{
public static void mul() throws MyException{
if(自己写条件){
throw new MyException();
}
}
}
这个应该能看懂吧,我只是写了个结构没写完整程序的,你看懂这个就行,定义一个自定义异常,然后在你需要的地方抛出异常,在主方法中调用方法的时候达到一定条件就会抛出异常
6.自己自定义了一个异常后怎么调用呢
1)先定义一个类继承Exception(或者别的RuntimeException等);
2)然后写个方法可能抛出这个异常,并且什么情况下会抛出异常;
3)调用这个方法,写try,catch语句,捕获这个异常;
小例子,你参考看下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class UserNotFoundException extends RuntimeException {
public UserNotFoundException() {}
public UserNotFoundException(String message) {
super(message);
}
public void f() throws UserNotFoundException {
throw new UserNotFoundException("用户名不对");
}
}
public class Exception {
public static void main(String args[]) {
try {
new UserNotFoundException().f();
} catch (UserNotFoundException e) {
System.out.println(e.getMessage());
}
}
}
7.在JAVA中,用户程序如何自定义异常
/**
* class名:NewException
* class说明:在JAVA中,用户程序如何自定义异常?编程实现一个用户自定义异常
* @author Jr
*
*/
public class NewException extends Exception{
public NewException() {
super();
// TODO Auto-generated constructor stub
}
public NewException(String message, Throwable cause) {
super(message, cause);
// TODO Auto-generated constructor stub
}
public NewException(String message) {
super(message);
// TODO Auto-generated constructor stub
}
public NewException(Throwable cause) {
super(cause);
// TODO Auto-generated constructor stub
}
}
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
/**
* class名:ExceptionTest
* class说明:制造一个异常,来测试NewException类
* @author Jr
*
*/
public class ExceptionTest {
public static void main(String[] args) throws NewException {
System.out.println("开始正常");
try {
String str = null;
str.length();//将抛出异常
System.out.println("结束正常");
} catch (Exception e) {
e.printStackTrace();
throw new NewException("str.length()出现异常", e);
} finally{
}
}
}
自己定义一个异常只需继承(extends)Exception这个类或者Throwable这个类,然后继承父类的构造器就可以了
转载请注明出处育才学习网 » java自定义异常怎么写
育才学习网