Java 获取非servlet中的映像路径

Java 获取非servlet中的映像路径,java,scheduled-tasks,jboss5.x,Java,Scheduled Tasks,Jboss5.x,我每天都在JBoss5.1中运行一个计划任务,用于发送生日祝福 邮件内容是HTML,我在邮件中嵌入了图像 现在我想得到嵌入图像的路径,如何在非servelt环境中获得图像的路径 当然,我可以将图像放置在静态位置并访问它们,我不想硬编码路径 图像位于“WebContent/images/birthday.jpg”位置。您是如何生成电子邮件内容的?这些也是静态html文件吗 如果要使用简单的静态html文件,则必须对图像路径进行硬编码。没有别的办法了 您可以编写一个简单的Java应用程序,作为一个独

我每天都在JBoss5.1中运行一个计划任务,用于发送生日祝福

邮件内容是HTML,我在邮件中嵌入了图像

现在我想得到嵌入图像的路径,如何在非servelt环境中获得图像的路径

当然,我可以将图像放置在静态位置并访问它们,我不想硬编码路径


图像位于“WebContent/images/birthday.jpg”位置。

您是如何生成电子邮件内容的?这些也是静态html文件吗

如果要使用简单的静态html文件,则必须对图像路径进行硬编码。没有别的办法了

您可以编写一个简单的Java应用程序,作为一个独立的应用程序运行(没有任何服务器、servlet等),它将创建电子邮件内容

如果您愿意,java代码也可以为您发送电子邮件

如果您使用java,这些就是您可以做的一些事情

  • 使用属性文件指定图像的位置。这些文件包含简单的键/值对
  • 您可以使用同一模板轻松地为不同的用户创建多个电子邮件内容
  • 您将能够轻松地为多个用户重新设计html内容。
    使用属性文件的示例

  • 创建一个文件,例如:“email_template.properties”
    将以下内容输入文件并保存。

    image_server=
    image\u文件夹=/WebContent/images/

  • 创建一个jave程序来创建html电子邮件,并使用属性文件生成图像位置

    Properties properties = new Properties();
    try 
    {
        properties.load(new FileInputStream("C://email_template.properties")); //specify path here
        String sServerLocation = properties.getProperty("image_server");
        String sImageFolder = properties.getProperty("image_folder");
        StringBuilder strEmail = new StringBuilder();
        strEmail.append("<html><body> <img src=\"" + sServerLocation + sImageFolder +"birthday.jsp\""> </body> </html>" );   
        // Write code to generate complete email dynamically
        // write code to send out the email or to save as html file to you machine, where you can send it manually.
    
    Properties属性=新属性();
    尝试
    {
    load(newfileinputstream(“C://email\u template.properties”);//在此处指定路径
    字符串sServerLocation=properties.getProperty(“image_server”);
    字符串sImageFolder=properties.getProperty(“image_folder”);
    StringBuilder strEmail=新建StringBuilder();
    strEmail.append(“”);
    //编写代码动态生成完整的电子邮件
    //编写代码将电子邮件发送到您的计算机或另存为html文件,您可以在其中手动发送电子邮件。
    
    }捕获(IOE异常) { // }

你明白了。使用纯html,您将不得不硬编码。
然而,如果您使用一个简单的java文件,您可以获得更大的灵活性

如果您需要代码从java发送电子邮件,请查看此链接。