# jsp: strings parsen



## gast (9. Jan 2008)

hi!
ich habe folgendes problem:
gegeben ist eine zeichenkette mit "blabla1234bla", ich möchte nun nur den abschnitt "1234" dadrin haben.
ich weiß wie ich mit java strings bearbeite, aber was für eine lösung bietet jsp?


----------



## Ralf Ueberfuhr (9. Jan 2008)

keine? warum auch?


----------



## gast (9. Jan 2008)

wie darf ich das verstehen?


----------



## Gast (9. Jan 2008)

sorry, bin noch voll neu mit jsp und so..


----------



## MiDniGG (9. Jan 2008)

Ich denke er meint, dass es nicht nötig ist, da man es ja mit JAVA selbst machen kann ;-)


----------



## java_entwickler (10. Jan 2008)

zuerst eine neue bean klasse:  my.bean.MyBean

public class MyBean{
	private String input = null;	
	public String getInput() {
		return input;
	}
	public void setInput(String input) {
		this.input = input;
	}	
	public void parseInput(){		
		char[] strArr = input.toCharArray();
		StringBuffer sb = new StringBuffer();
		for(char c: strArr){
			if(Character.isDigit(c)){
				sb.append(c);
			}
		}
		setInput(sb.toString());	
	}

------------------------
Dann die JSP Seite sieht so aus:

<%@page language="java" import="java.util.*,my.bean.*" %>
<jsp:useBean id="myBean" class="my.bean.MyBean" scope="session" />

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>My JSP 'index.jsp' starting page</title>
  </head>

  <body>  
  <% myBean.setInput("blabla1234bla");%>
  <% myBean.parseInput();%>
  <%=myBean.getInput() %>
  </body>
</html>


----------



## maki (10. Jan 2008)

Für so etwas gibt es die JSTL, dann braucht auch keine Scriplets und schreibt sauberen und besseren JSP code.

http://www.java2s.com/Code/Java/JSTL/UsingtheJSTLfunctions.htm


----------



## gast (10. Jan 2008)

danke, genau sowas mein ich!

aber das beispiel auf http://www.java2s.com/Code/Java/JSTL/UsingtheJSTLfunctions.htm funktioniert bei mir irgendwie nicht. wenn ich das bei mit in eine .jsp mache und das dann über tomcat versuche laufen zulassen, kommt da eine ellenlange exception..
was mache ich falsch?


----------



## Ralf Ueberfuhr (10. Jan 2008)

Poste mal die Exception.


----------



## Gast (11. Jan 2008)

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/functions cannot be resolved in either web.xml or the jar files deployed with this application
	org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:50)
	org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
	org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:114)
	org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:316)
	org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:147)
	org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:423)
	org.apache.jasper.compiler.Parser.parseDirective(Parser.java:492)
	org.apache.jasper.compiler.Parser.parseElements(Parser.java:1552)
	org.apache.jasper.compiler.Parser.parse(Parser.java:126)
	org.apache.jasper.compiler.ParserController.doParse(ParserController.java:211)
	org.apache.jasper.compiler.ParserController.parse(ParserController.java:100)
	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:146)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

note The full stack trace of the root cause is available in the Apache Tomcat/5.5.12 logs.


----------



## MiDniGG (11. Jan 2008)

Schaut so aus als ob er einfach nicht auf die taglibs drauf kommt die auf nem externen Server liegen...

Also sprich:

Hier <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> eine eigene taglib einstellen die du auch verwenden kannst. Und dazu dann noch die web.xml anpassen

bzw. eine taglib.tld erstellen die dann in etwa so aussieht:


```
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>owntags</short-name>
<tag>
	<name>myClass</name>
	<tag-class>taglib.TagClass</tag-class>
	<body-content>JSP</body-content>
	<attribute>
		<name>name1</name>
		<required>false</required>
		<rtexprvalue>true</rtexprvalue>
		<type>java.lang.String</type>
	</attribute>
	<attribute>
		<name>name2</name>
		<required>false</required>
		<rtexprvalue>true</rtexprvalue>
		<type>int</type>
	</attribute>
</tag>

</taglib>
```

In der JSP kannst du dann so darauf zugreifen:


```
<owntags:myClass> </owntags:myClass>
```

Was die einzelnen Dinge bedeuten kannst du googeln.


----------

