Custom Tags Folder Location
I downloaded an email ascii encryption tag that is a "custom"
tag. The ReadMe suggests copying the .cfm file to the
<<CustomTags>> folder. I cannot find such.
Can I simply create such a folder? Where should I put it?
Thanks, -Barry
This is a cold fusion question you need to login to cold
fusion administrator to find the location of the custom tags folder
then you should be able to use the custom tag once you copy the
file there unless it needs some settings defined inside the .cfm
file
Similar Messages
-
A search of the Library bookmarks should provide each bookmark's folder as well as Name, Tags, and Location.
As it is now, a search (for example) for the string 'IESI', a refuse collection company in Central Texas, actually finds IESI. But what if you cannot remember what folder you put the IESI bookmark in? Current search fails to provide folder information.See:
*Show Parent Folder: https://addons.mozilla.org/firefox/addon/show-parent-folder/
*Go Parent Folder: https://addons.mozilla.org/firefox/addon/go-parent-folder/ -
Custom Tag issue and then ApplicationID?
Hello,
is there anybody out there who can help me with the following
problem:
I installed ColdFusion 4.5 Server on my Windows XP machine
and wanted to access an already built CF application. When
accessing
the main default page, i got the following error:
"Cannot find CFML template for custom tag
CFA_APPLICATIONINITIALIZE.
ColdFusion attempted looking in the tree of installed custom
tags but
did not find a custom tag with this name. "
I copied the same Administrator settings, code and folders
from the
working production server to my local machine and it just
doesn't seem
to work. (I couldn't find any differences to the working
application)
I tried to fix it by copying the custom tag folder (located
under allaire/spectra/customtags/) to C:\CFusion\CustomTags which
somehow cleared the previous error but gave me the following new
one:
"Error Occurred While Processing Request > Error
Diagnostic Information > This application can't be located by
name. Use ApplicationID instead"
Please, i appreciate any kind of comment on this post (i have
been trying to fix this for the past 3 days!)
Thanks,
bbintoSpectra requires 4.5.1 or 5.
Run the Spectra install to set up all the correct mappings
and the webtop. Then copy over the custom application. It's been
awhile since I've dug into the folder structure of the webtop, so I
don't have a complete list of steps required for a Spectra app
deployment. So you still have some work ahead of you.
Just make sure you backup your database before the install,
mirror it, or use a new schema for the installation and then switch
over your datasources.
I would recommend an old Spectra book you can probably find
on eBay.
http://www.forta.com/books/0789723654/ -
Re: Using ScopeCache custom tag
Hi, I am quite new to ColdFusion and I have a calendar that
is quite slow due to the cfloops it uses to build the calendar. As
the page does not change very often I wanted to use Raymond
Camden's ScopeCache custom tag. However, for some reason the custom
tag was not getting picked up from the custom tag folder on the
server. I have successfully used components so have tried to
convert the custom tag to a component but get the following error
message:
Routines cannot be declared more than once.
The routine scope_Cache has been declared twice in the same
file.
This is the component:
<!---
Name : scopeCache
Author : Raymond Camden ([email protected])
Created : December 12, 2002
Last Updated : November 6, 2003
History : Allow for clearAll (rkc 11/6/03)
: Added dependancies, timeout, other misc changes (rkc
1/8/04)
Purpose : Allows you to cache content in various scopes.
Documentation:
This tag allows you to cache content and data in various RAM
based scopes.
The tag takes the following attributes:
name/cachename: The name of the data. (required)
scope: The scope where cached data will reside. Must be
either session,
application, or server. (required)
timeout: When the cache will timeout. By default, the year
3999 (i.e., never).
Value must be either a date/time stamp or a number
representing the
number of seconds until the timeout is reached. (optional)
dependancies: This allows you to mark other cache items as
dependant on this item.
When this item is cleared or timesout, any child will also
be cleared.
Also, any children of those children will also be cleared.
(optional)
clear: If passed and if true, will clear out the cached
item. Note that
this option will NOT recreate the cache. In other words, the
rest of
the tag isn't run (well, mostly, but don't worry).
clearAll: Removes all data from this scope. Exits the tag
immidiately.
disabled: Allows for a quick exit out of the tag. How would
this be used? You can
imagine using disabled="#request.disabled#" to allow for a
quick way to
turn on/off caching for the entire site. Of course, all
calls to the tag
would have to use the same value.
License : Use this as you will. If you enjoy it and it helps
your application,
consider sending me something from my Amazon wish list:
http://www.amazon.com/o/registry/2TCL1D08EZEYE
--->
<cfcomponent>
<cffunction name="scope_Cache" access="public"
returntype="string">
<cfargument name="cachename" type="string"
required="yes">
<cfargument name="scope" type="string" required="yes">
<cfargument name="timeout" type="string"
required="yes">
<cfprocessingdirective pageencoding="utf-8">
<!--- allow for quick exit
<cfif isDefined("arguments.disabled") and
arguments.disabled>
<cfexit method="exitTemplate">
</cfif>
<!--- Allow for cachename in case we use cfmodule --->
<cfif isDefined("arguments.cachename")>
<cfset arguments.name = arguments.cachename>
</cfif>--->
<!--- Attribute validation --->
<cfif (not isDefined("arguments.name") or not
isSimpleValue(arguments.name)) and not
isDefined("arguments.clearall")>
<cfthrow message="scopeCache: The name attribute must be
passed as a string.">
</cfif>
<cfif not isDefined("arguments.scope") or not
isSimpleValue(arguments.scope) or not
listFindNoCase("application,session,server",arguments.scope)>
<cfthrow message="scopeCache: The scope attribute must be
passed as one of: application, session, or server.">
</cfif>
<!--- The default timeout is no timeout, so we use the
year 3999. --->
<cfparam name="arguments.timeout"
default="#createDate(3999,1,1)#">
<!--- Default dependancy list --->
<cfparam name="arguments.dependancies" default=""
type="string">
<cfif not isDate(arguments.timeout) and (not
isNumeric(arguments.timeout) or arguments.timeout lte 0)>
<cfthrow message="scopeCache: The timeout attribute must
be either a date/time or a number greather zero.">
<cfelseif isNumeric(arguments.timeout)>
<!--- convert seconds to a time --->
<cfset arguments.timeout =
dateAdd("s",arguments.timeout,now())>
</cfif>
<!--- create pointer to scope --->
<cfset ptr = structGet(arguments.scope)>
<!--- init cache root --->
<cfif not structKeyExists(ptr,"scopeCache")>
<cfset ptr["scopeCache"] = structNew()>
</cfif>
<cfif isDefined("arguments.clearAll")>
<cfset structClear(ptr["scopeCache"])>
<cfexit method="exitTag">
</cfif>
<!--- This variable will store all the guys we need to
update --->
<cfset cleanup = "">
<!--- This variable determines if we run the caching.
This is used when we clear a cache --->
<cfset dontRun = false>
<cfif isDefined("arguments.clear") and arguments.clear
and structKeyExists(ptr.scopeCache,arguments.name) and
thisTag.executionMode is "start">
<cfif
structKeyExists(ptr.scopeCache[arguments.name],"dependancies")>
<cfset cleanup =
ptr.scopeCache[arguments.name].dependancies>
</cfif>
<cfset structDelete(ptr.scopeCache,arguments.name)>
<cfset dontRun = true>
</cfif>
<cfif not dontRun>
<cfif thisTag.executionMode is "start">
<!--- determine if we have the info in cache already
--->
<cfif structKeyExists(ptr.scopeCache,arguments.name)>
<cfif
dateCompare(now(),ptr.scopeCache[arguments.name].timeout) is -1>
<cfif not isDefined("arguments.r_Data")>
<cfoutput>#ptr.scopeCache[arguments.name].value#</cfoutput>
<cfelse>
<cfset caller[arguments.r_Data] =
ptr.scopeCache[arguments.name].value>
</cfif>
<cfexit>
</cfif>
</cfif>
<cfelse>
<!--- It is possible I'm here because I'm refreshing. If
so, check my dependancies --->
<cfif structKeyExists(ptr.scopeCache,arguments.name) and
structKeyExists(ptr.scopeCache[arguments.name],"dependancies")>
<cfif
structKeyExists(ptr.scopeCache[arguments.name],"dependancies")>
<cfset cleanup = listAppend(cleanup,
ptr.scopeCache[arguments.name].dependancies)>
</cfif>
</cfif>
<cfset ptr.scopeCache[arguments.name] = structNew()>
<cfif not isDefined("arguments.data")>
<cfset ptr.scopeCache[arguments.name].value =
thistag.generatedcontent>
<cfelse>
<cfset ptr.scopeCache[arguments.name].value =
arguments.data>
</cfif>
<cfset ptr.scopeCache[arguments.name].timeout =
arguments.timeout>
<cfset ptr.scopeCache[arguments.name].dependancies =
arguments.dependancies>
<cfif isDefined("arguments.r_Data")>
<cfset caller[arguments.r_Data] =
ptr.scopeCache[arguments.name].value>
</cfif>
</cfif>
</cfif>
<!--- Do I need to clean up? --->
<cfset z = 1>
<cfloop condition="listLen(cleanup)">
<cfset z = z+1><cfif z gt 100><cfthrow
message="ack"></cfif>
<cfset toKill = listFirst(cleanup)>
<cfset cleanUp = listRest(cleanup)>
<cfif structKeyExists(ptr.scopeCache, toKill)>
<cfloop index="item"
list="#ptr.scopeCache[toKill].dependancies#">
<cfif not listFindNoCase(cleanup, item)>
<cfset cleanup = listAppend(cleanup, item)>
</cfif>
</cfloop>
<cfset structDelete(ptr.scopeCache,toKill)>
</cfif>
</cfloop>
<cfreturn scope_Cache>
</cffunction>
</cfcomponent>Hi, thanks to both of you for your help. I reverted back the
custom tag and it was picked up this time - I don't know what
happened before. The functionality works as expected but I have hit
another problem and I am hoping I can tap your combined ColdFusion
wisdom to solve!!
The calendar returns leave records for staff and filters the
records using a querystring variable appended when the user clicks
on a particular month. However, what members of staff the user sees
depends on the data held in the users' session variables based on
their authority. The reason I wanted to use caching is because the
page takes a good ten seconds to run because of the use of cfloops
for the members of staff and the days of the week to dynamically
build the page. Using the custom tag would have worked if all
members of staff saw the same calendar data and could only see one
month. Can you see anyway I can speed up the page and do you think
caching is the way forward here? -
Custom Tag - Unable to Load Library
I'm working on a project that needs to access custom tags. .
We are using CFMX Version 6,1,0,63958 Edition Enterprise Operating
system Windows 2003 OS version 5.2
The Web application relies on 4 custom tags written in C++. I
can get the first tag to work. The other tags work on my developer
edition (CFMX 7), but I cannot
get them to work on Version 6.1. I get the error "Unable to
Load Library". These other custom tags each call an external DLL
from within side them and I
believe that this is what's causing the problem. I've tried
researching this problem for months, checking the forums, Google,
etc. but nothing has worked.
I have a deadline coming up soon, so any help or advice to
get me in the right direction
to solve this problem would be greatly appreciated. I don't
know what to do and I need a solution!
ThanksThat worked. It was looking for the dll in CFusionMX\Lib
instead of in the CFX\custom tags folder. -
Location of custom tags added to tag library on Windows
Since early DW days, there has been a severe lack of asp.net support in DW in relation to Tags, Document Extensions, etc. With each new version of DW, I find myself re-adding in a stack of tags into the Tag Library as I don't seem to be able to copy them between versions. After I've added them in, I am trying to find where these are stored in the filesystem so I can copy them to each new version of DW.
I can see most tags are found in C:\Program Files (x86)\Adobe\Adobe Dreamweaver CS6\configuration\TagLibraries , however when I add new ones in, they don't seem to be stored anywhere.
Where are the custom tags I add into the Tag Library stored for DW on Windows?I think I may have found it. There appears to be some action at C:\Users\jtsr\AppData\Roaming\Adobe\Dreamweaver CS6\en_US\Configuration\TagLibraries\aspnet
Now to figure out if can build them outside of DW and simply paste them back into this folder or C:\Program Files (x86)\Adobe\Adobe Dreamweaver CS6\configuration\TagLibraries to save re-adding them with each version of DW. -
How to create custom tags in my own folder..(It is very important to know)
Hi developers,
I am try to develop custom tags, But i am fail. I take support of internet. I read some documentations to develop custom tags. I can understand everything to develop custom tags . My problem is where to place taghandler,tld and jsp files in tomcat. Could you please guide me how develop custom tags in tomcat. I try to wax. Please guide me.
Thanking you.
with regards
sure...:)-You'll have something like
tomcat/webapps/mysite
where 'mysite' is the webapp root.
Then
mysite/* - holds JSP (in root directory or any subdirectory except WEB-INF)
mysite/WEB-INF - holds TLDs
mysite/WEB-INF/classes - holds non-jar class files
mysite/WEB-INF/lib - holds the jar file containing the custom tag java code
You can put java classes in either WEB-INF/classes (for *.class files) or WEB-INF/lib (for *.jar files), doesn't matter which. -
Illegal Access Error : using Custom Tags
Ive a very simple custom tag that try to print curent date on webpage but when I try to run it gives me following error
java.lang.IllegalAccessError: try to access class com.sun.xml.tree.ParentNode from class org.apache.jasper.compiler.TagLibraryInfoImpl
java.lang.IllegalAccessError: try to access class com.sun.xml.tree.ParentNode fr
om class org.apache.jasper.compiler.TagLibraryInfoImpl
Here is my jsp code
<html>
<head>
<%@ taglib uri="http://127.0.0.1:8080/examples/cdate.tld" prefix="examples"%>
</head>
<body>
The file is <examples:cdate/>
</body>
</html>
here goes cdate.tld code
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<shortname>examples</shortname>
<uri>http://www.mycompany.com/taglib</uri>
<info>An example tag library</info>
<tag>
<name>cdate</name>
<tagclass>datex.DateTag</tagclass>
<info>Returns Current Date</info>
</tag>
</taglib>
here is web.xml entry
<taglib>
<taglib-uri>
http://127.0.0.1:8080/examples/WEB-INF/cdate.tld
</taglib-uri>
<taglib-location>
/WEB-INF/cdate.tld
</taglib-location>
</taglib>
here is the taghandler class code
package datex;
import java.io.*;
import java.util.Date;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
public class DateTag extends javax.servlet.jsp.tagext.TagSupport {
private String date;
public int doStartTag() throws JspException {
StringBuffer html = new StringBuffer();
date = new Date().toString();
html.append("Current Date : ");
html.append(date);
try {
pageContext.getOut().write(html.toString());
} catch (IOException ioe) {
throw new JspException(ioe.getMessage());
return EVAL_BODY_INCLUDE;
public void setDate(String s) {
this.date = s;
can any one plz hlp mewhen i put the struts tags into the subforld such as /web-inf/tags , the jsp page tell me parsing tags error.
should i must put all this tags in the right fold?
i configure the url location in the web.xml as the route /web-inf/tags/....tld why invalid? -
Hi,
I have created a prog using Custom Tags. I have compiled it . But when I try to run it I am getting Not found error with JSP. Can somebody help me with that:
package com.brainysoftware;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
public class MyCustomTag extends TagSupport {
public int doEndTag() throws JspException {
JspWriter out = pageContext.getOut();
try {
out.println("Hello from the custom tag.");
catch (Exception e) {
return super.doEndTag();
& my jsp code is :
<%@ taglib uri="/myTLD" prefix="easy"%>
<easy:myTag/>
Can somebody help me to run custom tag based jsp?
Zulfi.My jsp is:
<%@ taglib uri="/myTLD" prefix="easy"%>
<easy:myTag/>
& its path is:
E:\Tomcat\jakarta-tomcat-5\dist\webapps\jsp-examples\jsp2\el
tag.tld file is:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlibversion>1.0</tlibversion>
<shortname></shortname>
<tag>
<name>myTag</name>
<tagclass>com.brainysoftware.MyCustomTag</tagclass>
</tag>
</taglib>
Path of MyCustomtag.tld is:
E:\Tomcat\jakarta-tomcat-5\dist\webapps\jsp-examples\WEB-INF
Path of web.xml is:
E:\Tomcat\jakarta-tomcat-5\dist\webapps\jsp-examples\WEB-INF
& my web.xml (portion of tld )is:
<taglib> <taglib-uri>/myTLD</taglib-uri> <taglib-location>/WEB-INF/taglib.tld</taglib-location></taglib>
Path ofMyCustomtag.class
E:\Tomcat\jakarta-tomcat-5\dist\webapps\jsp-examples\WEB-INF\classes\com\brainysoftware
& its source is:
package com.brainysoftware;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
public class MyCustomTag extends TagSupport {
public int doEndTag() throws JspException {
JspWriter out = pageContext.getOut();
try {
out.println("Hello from the custom tag.");
catch (Exception e) {
return super.doEndTag();
I am accessing it through example folder. I have to run tomcat to tell u the exact url. If the above information is not enopugh I would tell u the exact url. Plz hold sometime for that.
Zulfi -
Video Scenes cannot be seen in Folder Location View
I recently purchased Adobe Premier Elements 10 and downloaded approximately 80 video clips from my HD camcorder into the Elements Organizer 10. I wanted to customize the organization of the video files by creating new folders, which I was able to do successfully via the Folder Location view (in the Display options). Additionally, unknown to me at the time the Auto Analyzer was run and it created "Video Scenes" (i.e., it splits the master file into multiple "scenes" based upon noted shooting information, etc.) from several of my video clips prior to moving the video files to the new file folders that I created. I have confirmed via the Windows File Manager that all of the video files were moved as I intended. However, in the Display - Folder Location View, none of the Video Scenes show up, and all of the Video clips (i.e., the ones that the Auto Analyzer didn't split up) are viewable. (In the Thumbnail view, all files are still viewable.) Is there a way to correct this?
Also, I've noted in the help manuals, etc. that the Auto Analyzer functions can be customized, but I did not see an option that would turn off the creation of Video Scenes. Is there a way to do this without disabling the Auto Analyzer all together?
Thanks for any help offered.Steve,
Thanks for your suggestion. I had checked the Edit/Preferences/Media-Analysis options previously. As I see them in Elements Organizer 10 they are: (1) analyze photos for people automatically, (2) analyze media for visual search automatically, (3) analyze media for smart tags automatically, (4) all filters, which includes face, audio, blur, brightness and contrast, motion, object motion, and shake, (5) run analyzer on system start up and (6) run analyzer only when system is in idle. None of these items seem on point in order to stop the creation of Video Scenes. Am I missing something, or are the options in Elements Organizer 10 different than prior versions.
Thanks, -
All:
I have created a custom tag for my users. When this custom
tag is used, I
would like the inner text of the tag to be a specific color
when viewing in
Design Mode. (as an example, the way an H1 tag works).
I have tried using Design-Time CSS, but this does not work
for me. Since
these HTML files that are being edited are independant files
and not part of
a website.
Is there anyway to have a default CSS file associated with
the Dreamweaver
application that is included everytime a file is opened? I
would like to
have no user action invovled with this file.
Any ideas?
thanks
KevI created my custom tag as follows (Most files that are
updated are located
in :../Dreamweaver/Configuration/Tag Libraries/)
1. Added the mytag.htm and mytag.vtm files inside the
..TagLibraries/HTML/
folder. (So information about the tag will show up in the
details of the Tag
Library when inserting)
2. Updated the TagLibraries.vtm ../TagLibraries/ to include
my new custom
tag. (So the tag will show up in the Tag Libraries when
inserting the tag)
3. Added my custom tag to html_all.vtv in
..TagLibraries/Validator/ (This
will allow my tag to pass through validation)
That should pretty much get you started to create your own
tag and
validation to accept your tag. Keep in mind that this is not
valid HTML and
this tag is only for our purposes. When i say that it passes
validation, i
only mean that in the validation panel an error will not be
thrown because
this tag exists.
Anyone still have any ideas on how to apply a generic CSS
file to any file
that is opened in Dreamweaver? Once again, i prefer to have
no user
interaction.
Thanks
Kev
"Walt F. Schaefer" <[email protected]> wrote in
message
news:[email protected]...
>>> I have created a custom tag for my users.
>
> Please explain, in detail, what you did to create this
tag.
>
> --
>
> Walt
>
>
> "KS" <[email protected]> wrote in
message
> news:[email protected]...
>> All:
>>
>> I have created a custom tag for my users. When this
custom tag is used, I
>> would like the inner text of the tag to be a
specific color when viewing
>> in Design Mode. (as an example, the way an H1 tag
works).
>>
>> I have tried using Design-Time CSS, but this does
not work for me. Since
>> these HTML files that are being edited are
independant files and not part
>> of a website.
>>
>> Is there anyway to have a default CSS file
associated with the
>> Dreamweaver application that is included everytime a
file is opened? I
>> would like to have no user action invovled with this
file.
>>
>> Any ideas?
>>
>> thanks
>> Kev
>>
>
> -
Why doesn't my custom tag work?
First, my backend database is MS Access. Nothing I can do about that, unfortunately.
I have defined three custom tags (no body, no attributes) to display report information from my project tracking/metrics Access database:
<prefix:showProjectInfo />
<prefix:showProjectTeam />
<prefix:showProjectHistory />
In my JSP, the first tag I use, <prefix:showProjectInfo />, works perfectly. However, <prefix:showProjectTeam /> gives no output.
First, here is the tld file that defines the tags (report.tld):
<?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>report</short-name>
<uri>/report</uri>
<!-- Forte4J_TLDX: This comment contains code generation information. Do not delete.
<tldx>
<tagHandlerGenerationRoot>classes</tagHandlerGenerationRoot>
</tldx>
-->
<!-- A validator verifies that the tags are used correctly at JSP
translation time. Validator entries look like this:
<validator>
<validator-class>com.mycompany.TagLibValidator</validator-class>
<init-param>
<param-name>parameter</param-name>
<param-value>value</param-value>
</init-param>
</validator>
-->
<!-- A tag library can register Servlet Context event listeners in
case it needs to react to such events. Listener entries look
like this:
<listener>
<listener-class>com.mycompany.TagLibListener</listener-class>
</listener>
-->
<tag>
<name>showProjectInfo</name>
<tag-class>mil.usaf.rad.metrics.report.showProjectInfoTag</tag-class>
<body-content>empty</body-content>
<description>Shows the basic project information</description>
</tag>
<tag>
<name>showProjectTeam</name>
<tag-class>mil.usaf.rad.metrics.report.showProjectTeamTag</tag-class>
<body-content>empty</body-content>
</tag>
<tag>
<name>showProjectHistory</name>
<tag-class>mil.usaf.rad.metrics.report.showProjectHistoryTag</tag-class>
<body-content>empty</body-content>
</tag>
</taglib>Next, here is the relevant section of web.xml that defines this taglib:
<taglib>
<taglib-uri>/WEB-INF/report.tld</taglib-uri>
<taglib-location>/WEB-INF/report.tld</taglib-location>
</taglib>Next, the code for showProjectTeamTag.java:
* showProjectTeam.java
* Created on March 9, 2005, 10:46 AM
package mil.usaf.rad.metrics.report;
import java.io.*;
import java.sql.*;
import java.lang.Integer;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
* @author jason.ferguson
public class showProjectTeamTag extends TagSupport
public showProjectTeamTag()
super();
public int doAfterBody() throws JspException
HttpServletRequest req = (HttpServletRequest) pageContext.getRequest();
int pr_id = Integer.parseInt(req.getParameter("pr_id"));
JspWriter out = pageContext.getOut();
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try
out.print("test");
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection("jdbc:odbc:Metrics");
catch (Exception e)
throw new JspException(e.getMessage());
String queryGetTeam = "SELECT Projects.pr_id, Accounts.name AS Name, Sum(Schedule.hours) AS SumOfhours FROM tblTAAccounts AS Accounts INNER JOIN ((tblTAScheduleEntries AS Schedule INNER JOIN tblProjectRelease AS ProjectRelease ON Schedule.projectID = ProjectRelease.tblFKTimeAccntProject) INNER JOIN tblPMProjects AS Projects ON ProjectRelease.Release_ID = Projects.pr_id) ON Accounts.accountID = Schedule.accountID WHERE Projects.pr_id=" + pr_id + " GROUP BY Projects.pr_id, Accounts.name, ProjectRelease.Release_number, Projects.Project_name";
try
out.print(queryGetTeam);
stmt = conn.createStatement();
rs = stmt.executeQuery(queryGetTeam);
if (rs == null)
out.print("No Results!");
out.print("<table>\n");
out.print("<tr>\n");
out.print("<th>Name</th>\n");
out.print("<th>Total Hours</th>\n");
out.print("</tr>\n");
while(rs.next())
out.print("<tr>\n");
out.print("<td>" + rs.getString("Name") + "</td>\n");
out.print("<td>" + rs.getInt("SumOfhours") + "</td>\n");
out.print("</tr>\n");
out.print("</table>\n");
rs.close();
stmt.close();
conn.close();
catch (Exception e)
throw new JspException(e.getMessage());
return SKIP_BODY;
}Finally, projectdetail.jsp, where the tag is called:
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.sql.*" %>
<%@page import="java.lang.Integer" %>
<%@taglib uri="/WEB-INF/report.tld" prefix="report" %>
<html>
<head><title>Project Detail</title></head>
<body>
<h1 align="center">Project Status</h1>
<h3>Project Description</h3>
<report:showProjectInfo />
<h3>Team Members</h3>
<report:showProjectTeam />
</body>
</html>The first tag, <report:showProjectInfo />, works fine. However, I get no output whatsoever when the system encounters <report:showProjectTeam />. I am a relative newbie at this, so any help is appreciated.
JasonIt doesnt seem to matter if the code is in doStartTag(), doEndTag(), orr any of the other functions.
I also put, as the first item in the function:
System.out.println("TEST");Nothing.
Just as an aside, here is the code for the <prefix:showProjectInfo />. Maybe I made a mistake in it? I closed the resultset and connection...
import java.io.*;
import java.sql.*;
import java.lang.Integer;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
* @author jason.ferguson
public class showProjectInfoTag extends BodyTagSupport
public int doEndTag() throws JspException
HttpServletRequest req = (HttpServletRequest) pageContext.getRequest();
int pr_id = Integer.parseInt(req.getParameter("pr_id"));
JspWriter out = pageContext.getOut();
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection("jdbc:odbc:Metrics");
catch (Exception e)
throw new JspException(e.getMessage());
String queryProjectInfo = "SELECT * FROM tblPMProjects WHERE pr_id=" + pr_id;
try
stmt = conn.createStatement();
rs = stmt.executeQuery(queryProjectInfo);
while (rs.next())
out.print("<table border=\"1\" style=\"border-collapse:collapse\">\n");
out.print("<tr>\n");
out.print("<td><b>Project Name:</b>" + rs.getString("Project_name") + "</td>\n");
out.print("<td align=\"right\"><b>RAD Number:</b>" + rs.getString("tblProjectNumber") + "</td>\n");
out.print("</tr>\n");
out.print("<tr>\n");
out.print("<td>Project description: " + rs.getString("Project_description") + "</td>\n");
out.print("</tr>\n");
out.print("<tr>\n");
out.print("<td>Customer: " + rs.getString("Customer_POC") + "</td>");
out.print("<tr>\n");
out.print("<tr>\n");
out.print("<td>Customer Unit: " + rs.getString("Customer_OFC") + "</td>\n");
out.print("</tr>\n");
out.print("<tr>\n");
out.print("<td>Customer Phone: " + rs.getString("Customer_phone") + "</td>\n");
out.print("</tr>\n");
out.print("</table>\n");
rs.close();
stmt.close();
conn.close();
catch (Exception e)
throw new JspException(e.getMessage());
finally
//conn.close();
return SKIP_BODY; -
Hi, can anyone advise as to whether my tag library code (based
on Apache Jakarta Project) will actually achieve connection
pooling functionality across my entire JSP based application? I
am slightly concerned that my OracleConnectionCacheImpl object
may exist multiple times, hence rendering my conection pooling
attempt useless.
package com.solved.tag.dbtags.connection;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import javax.servlet.jsp.tagext.TagSupport;
import javax.servlet.jsp.JspTagException;
import javax.sql.DataSource;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import oracle.jdbc.pool.OracleConnectionCacheImpl;
* <p>JSP tag connection, used to get a
* java.sql.Connection object.</p>
* <p>JSP Tag Lib Descriptor
* <pre>
* <name>connection</name>
<tagclass>com.solved.tag.dbtags.connection.ConnectionTag</t
agclass>
* <bodycontent>JSP</bodycontent>
<teiclass>com.solved.tag.dbtags.connection.ConnectionTEI</t
eiclass>
* <info>Opens a connection based on a jndiName.</info>
* <attribute>
* <name>id</name>
* <required>true</required>
* <rtexprvalue>false</rtexprvalue>
* </attribute>
* </pre>
* @author Matt Shannon
public class ConnectionTag extends TagSupport {
static private OracleConnectionCacheImpl cache = null;
public int doStartTag() throws JspTagException {
try {
Connection conn = null;
if (cache == null) {
try {
InitialContext ic = new InitialContext();
DataSource ds = (DataSource) ic.lookup
("jdbc/pool/OracleCache");
cache = (OracleConnectionCacheImpl)ds;
catch (NamingException ne) {
throw new JspTagException(ne.toString());
conn = cache.getConnection();
pageContext.setAttribute(getId(),conn);
catch (SQLException e) {
throw new JspTagException(e.toString());
return EVAL_BODY_INCLUDE;
package com.solved.tag.dbtags.connection;
import java.sql.Connection;
import java.sql.SQLException;
import javax.servlet.jsp.tagext.TagSupport;
* <p>JSP tag closeconnection, used to close the
* specified java.sql.Connection.<p>
* <p>JSP Tag Lib Descriptor
* <pre>
* <name>closeConnection</name>
<tagclass>com.solved.tag.dbtags.connection.CloseConnectionTag&
lt;/tagclass>
* <bodycontent>empty</bodycontent>
* <info>Close the specified connection. The "conn"
attribute is the name of a
* connection object in the page context.</info>
* <attribute>
* <name>conn</name>
* <required>true</required>
* <rtexprvalue>false</rtexprvalue>
* </attribute>
* </pre>
* @author Matt Shannon
* @see ConnectionTag
public class CloseConnectionTag extends TagSupport {
private String _connId = null;
* The "conn" attribute is the name of a
* page context object containing a
* java.sql.Connection.
* @param connectionId
* attribute name of the java.sql.Connection to
close.
* @see ConnectionTag
public void setConn(String connectionId) {
_connId = connectionId;
public int doStartTag() {
try {
Connection conn = (Connection)pageContext.getAttribute
(_connId);
conn.close();
} catch (SQLException e) {
// failing to close a connection is not fatal
e.printStackTrace();
return EVAL_BODY_INCLUDE;
public void release() {
_connId = null;
package com.solved.tag.dbtags.connection;
import javax.servlet.jsp.tagext.TagData;
import javax.servlet.jsp.tagext.TagExtraInfo;
import javax.servlet.jsp.tagext.VariableInfo;
* TagExtraInfo for the connection tag. This
* TagExtraInfo specifies that the ConnectionTag
* assigns a java.sql.Connection object to the
* "id" attribute at the end tag.
* @author Matt Shannon
* @see ConnectionTag
public class ConnectionTEI extends TagExtraInfo {
public final VariableInfo[] getVariableInfo(TagData data)
return new VariableInfo[]
new VariableInfo(
data.getAttributeString("id"),
"java.sql.Connection",
true,
VariableInfo.AT_END
data-sources.xml:
<?xml version="1.0"?>
<!DOCTYPE data-sources PUBLIC "Orion data-
sources" "http://xmlns.oracle.com/ias/dtds/data-sources.dtd">
<data-sources>
<data-source
class="oracle.jdbc.pool.OracleConnectionCacheImpl"
name="jdbc/pool/OracleCache"
location="jdbc/pool/OracleCache"
url="jdbc:oracle:thin:@oracle1:1521:pdev"
>
<property name="maxLimit" value="15" />
<property name="cacheScheme" value="2" />
<property name="user" value="console" />
<property name="password" value="console" />
<description>
This DataSource is using an Oracle-native DataSource Class so as
to allow Oracle Specific extensions.
A getConnection() call on this DataSource will return
oracle.jdbc.driver.OracleConnection.
The connection returned is a logical connection.
The caching scheme in place is Fixed Wait. Refer below to
possible values.
Dynamic 1
Fixed Wait 2
Fixed Return Null 3
</description>
</data-source>
</data-sources>
many thanks,
Matt.Hi. Show me your pool definition.
Joe
Ramamurthy wrote:
I am using the jsp custom tag library from BEA called sqltags.tld which came with Weblogic 5.1. Currently I am using Weblogic6.1 sp2 on Solaris.
I have created a Connection Pool for Sybase database using the driver com.sybase.jdbc.SybDriver.
When I created jsp page to connect to the connection pool using sqltags custom tag library, I am getting the error
"javax.servlet.jsp.JspException: Failed to write body content
at weblogic.taglib.sql.ConnectionTag.doAfterBody(ConnectionTag.java:43)
at jsp_servlet.__hubwcdata._jspService(__sampletest.java:1014)"
After this message, whenever I try to access the same jsp page I am getting the message
"javax.servlet.jsp.JspException: Failed to load JDBC driver: weblogic.jdbc.pool.D
river
at weblogic.taglib.sql.ConnectionTag.doStartTag(ConnectionTag.java:34)
at jsp_servlet.__hubwcdata._jspService(__sampletest.java:205)".
Can you please help me the reason why this problem is happening and how to fix this ?
This problem doexn't happen consistently. This occurs once in a while.
I tried to increase Login delay Seconds parameter in the Connection Pool to 15 sec. It didn't help me much.
Thanks for your help !!!
Ram -
Can you "lock" iTunes Media Folder location?
One of the things I hate about iTunes is that I keep my music collection on an external hard drive with mirrored RAID array. Songs I buy are automatically transferred onto that drive. But sometimes, the hard drive will go offline, for whatever reason - a power issue, bumped by someone, whatever. When that does happen, iTunes doesn't give you a warning, it just defaults to the internal Music folders. Until you realize that the hard drive is offline, every CD you rip, every song you buy will go straight to the iTunes folder on the Mac. When you finally reconnect that hard drive, and redirect iTunes to the iTunes Media Folder on it, you're hopelessly lost, with your music collection distributed between the two drives.
First off, WHY can't iTunes notify you that it can't find the designated iTunes Media Folder? It'll notify you about just about every single other bloody thing that happens in the computer?
Second, is there a way to LOCK the iTunes Media Folder onto another drive, such that iTunes can't find the iTunes folder on the Mac HD?
Third, is there an easy way to scan the library on my Mac HD and on the external HD to find out which files are missing from the external HD and need to be manually added to the library?
ks in advance!
ThanHi Jonathan, it annoyed the heck out of me too. Answers to your questions:
No idea, it’s probably trying to be “helpful”.
I don’t believe you can lock iTunes the way you want, but you CAN stop iTunes from running WITHOUT THE DRIVE YOU WANT I got sick of manually transferring songs when this happened to me too. In my case my library is on a network server (NAS). I wrote the following AppleScript to deal with the situation and it will work for any externally connected drive, network, USB, FireWire etc.
So to explain the script: I’m asking Terminal to list the directory contents of the iTunes Library folder on the external drive. If it can, it makes iTunes start. If it can’t (the “on error” bit), it beeps at you and displays a dialog box that tells you it cannot start. I then save the script as an App, and give it the same icon as iTunes has, but a different name (‘iTunes Custom Launcher” for example). Then I remove iTunes from the Dock and put my custom launcher in the Dock instead. Doing this means the only odd thing you will see is that when the launcher starts iTunes, there will seem to be two iTunes icons in the Dock, but only while iTunes is running.
— Start of script
tell application "Terminal"
try
do shell script "ls \"/Volumes/Music/iTunes Library\""
tell application "iTunes" to activate
on error
beep
display alert "iTunes will not start until the Network Music Library is available"
end try
end tell
tell application "Terminal" to quit
quit
— End of script
In order to use the script, you will need to replace the folder location of the iTunes Library. If you’re not familiar with Terminal, see what Finder says the name of the Disk (or network share) is when it is connected. Assuming your iTunes Library is called “iTunes Library”, the format of the third line of the script is:
do shell script “ls \"/Volumes/<disk or share name>/<folder>/<sub-folder…>iTunes Library\"”
If, like me, your iTunes Library folder is at the root of the external drive, you only need to replace <disk or share name> with the drive name and forget about the <folder>/<sub-folder…> bit. If you’re not sure what to do to the script let me know and we can do more Q&A to see exactly what you need to make the script look like.
So, the main steps:
Open the AppleScript Editor and copy/paste the script into the blank window
Save the script as “iTunes Custom Launcher” and choose to save it as an Application.
Copy/Paste the app into your Applications folder using Finder
To give the new app the same icon as iTunes has (optional), in the Applications folder, select iTunes and copy it. Do a “Get Info" on your new app and select the little icon in the top-left of the info screen so it has a blue outline, then do command-V (paste).
Remove iTunes from the Dock and add your new app.
For your question 3, I would just go into the music folders of whoever logs on to your mac and manually move whatever folders for artists/albums/songs are there; it should be the last time
Let me know if you need more help
Message was edited by: SilverSkyRat -
Hi
I am new in jsp?s custom tag development and trying to run it's example with jakarta-tomcat-4.1.30. I have hello.jsp
<%@ taglib uri="/WEB-INF/mytaglib.tld" prefix="first" %>
<HTML>
<HEAD> <TITLE>hELLO tAG</TITLE></HEAD>
<BODY bgcolor="#ffffcc"><B>My first tag prints</B>
<first:hello/></HTML>
and mytaglib.tld as
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib PUBLIC "-//Sun MicroSystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.2</jspversion>
<shortname></shortname>
<uri></uri>
<info>A simple tag library for the example</info>
<tag>
<name>hello</name>
<tagclass>HelloTag</tagclass>
<bodycontent>empty</bodycontent>
<info></info>
</tag>
</taglib>
and HelloTag.java as
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.Tag;
public class HelloTag implements Tag {
private PageContext pageContext;
private Tag parent;
public HelloTag() {
super(); }
public void setPageContext(PageContext arg0) {
this.pageContext = arg0;}
public void setParent(Tag arg0) {
this.parent = arg0;}
public Tag getParent() {
return parent;}
public int doStartTag() throws JspException {
try{
pageContext.getOut().print("This is my first Tag");
}catch(Exception e){throw new JspException("Error);}
return SKIP_PAGE; }
public int doEndTag() throws JspException {
return SKIP_PAGE;}
public void release() { }
I am getting following error
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: /hello.jsp(7,0) Unable to load class hello
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:94)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:428)
at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:219)
at org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:712)
at org.apache.jasper.compiler.Parser.parseElements(Parser.java:804)
at org.apache.jasper.compiler.Parser.parse(Parser.java:122)
at org.apache.jasper.compiler.ParserController.parse(ParserController.java:199)
at org.apache.jasper.compiler.ParserController.parse(ParserController.java:153)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:227)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:369)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:473)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:190)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
Can anyone help me in running this example.an uri is not an url,
in your web.xml you should have something like
<taglib>
<taglib-uri>http://yourtaglib/taglib</taglib-uri>
<taglib-location>/WEB-INF/yourtaglibtld</taglib-location>
</taglib>
that uri should be same as in the tld.file and same as in the <%@ taglib tag
Maybe you are looking for
-
ERecruiting : Smart form for Correspondence activities
Dear Experts, I have a question regarding the corresponding activitiy smart form customisation. Till enhancement Package 3, we could customize the smartform in 2 ways HTML editor Changeable Letter Sections But in Enhancement package 4, there is only
-
reloaded ps touch on samsung tab 10.1 but still unable to access local images
-
How to deploy the .ear and the .war file
Hi all, I am using Jdev 11.1.1.0 and weblogic 10.3.1 and I want to deploy a very simple application. I have successfully deployed it to an ear file, so I have in my folders two file: a .war file and a .ear file. Now, what steps have I to do to deploy
-
Interface Controller of a Component
Hi, Can anyone explain/provide any doc which explains using one component in another component using interface controller. Warm Regards, Imtiyaz
-
LMS3.2/CWA1.2.0: Device troubleshooting - Timed out
Hi, Customer has LMS 3.2 on windows 2008. They have this issue since they have upgrade to LMS 3.2. He has a multi-server config. Both master and slave have the same issue. When trying to launch Device troubleshooting, cu has an error message "Error :