I need to modify the below to be dynamic. I want to use <%= request.getServletPath() %> to get the url and then replace it with the opposite extension Like intro-e.jsp - click a link and get intro-f.jsp below is the jsp page. <%@ page import="java.util.*" %> <HTML lang=en> <jsp:useBean id="toggle" class="ToggleBean" scope = "request"/> <jsp:setProperty name="toggle" property="oldAddress" value="toggle99-e.jsp" /> <body> <a href = "<jsp:getProperty name="toggle" property="newAddress"/>"> Click Here </a> </body> </html> and this is the bean import java.util.*; public class ToggleBean { String oldAddress = null; String newAddress = null; public String getoldAddress() { return oldAddress; //method not used } public void setoldAddress(String str) { oldAddress = str; toggleAddress(); } public String getnewAddress() { return newAddress; } public void setnewAddress(String str) { newAddress = str; //method not used } private void toggleAddress() { String str = oldAddress; if(!((str.endsWith(".htm")) | | (str.endsWith(".jsp")) | | (str.endsWith(".html")))) { //This program is to be used only for files names ending with .htm, .html or .jsp newAddress= null; return; }
int pos = str.lastIndexOf('.'); if(pos < 0){ newAddress= null; return;} char langCode = str.charAt(pos-1); if(langCode =='e') { StringBuffer sb =new StringBuffer(str); sb.setCharAt(pos-1,'f'); newAddress = sb.toString(); } else if(langCode=='f') { StringBuffer sb =new StringBuffer(str); sb.setCharAt(pos-1,'e'); newAddress = sb.toString(); } else newAddress= null; } } where would I insert <%= request.getServletPath() %> to get it set up properly Thanks
Madhav Lakkapragada
Ranch Hand
Joined: Jun 03, 2000
Posts: 5040
posted
0
Sorry to say this, but your code violates the basic rules of Beans.
This is ONE of your problems. I haven't looked at anyothers (if any)... - satya
well, you need to follow the java Bean naming conventions for getter and setter methods. These are methods with names that are composed of the word get or set resp., plus the property name, with the first character of each word capitalised. Accordingly, your method names should be changed to what I had said earlier. You might also want to refer to the JavaBeans Spec and http://java.sun.com/products/jsp/tags/11/syntaxref1114.html#8856]JSP setProperty page. regds. - satya
[This message has been edited by Madhav Lakkapragada (edited August 21, 2001).]
I agree. Here's the link: http://ej-technologies/jprofiler - if it wasn't for jprofiler, we would need to
run our stuff on 16 servers instead of 3.