導航:首頁 > 電商促銷 > grails電子商務插件

grails電子商務插件

發布時間:2021-07-24 14:22:05

1. grails excel-export 如何從頁面導出excel

用 poi 來導出 excel 文件

Java代碼
import org.codehaus.groovy.grails.commons.*
import org.apache.poi.hssf.usermodel.HSSFWorkbook
import org.apache.poi.hssf.usermodel.HSSFSheet
import org.apache.poi.hssf.usermodel.HSSFRow
import org.apache.poi.hssf.usermodel.HSSFCell
import org.codehaus.groovy.grails.commons.GrailsDomainClass
import org.codehaus.groovy.grails.web.converters.ConverterUtil
import org.springframework.web.servlet.support.RequestContextUtils as RCU
import org.codehaus.groovy.grails.scaffolding.DomainClassPropertyComparator;
import org.springframework.context.MessageSource
import org.apache.poi.hssf.usermodel.HSSFCellStyle
import org.apache.poi.hssf.usermodel.HSSFFont
import org.apache.poi.hssf.util.HSSFColor;

class XlsExportService {

// def messageSource
MessageSource messageSource
boolean transactional = true
// def config = ConfigurationHolder.config
// def domainName
def xlsExport(out, request, domain, datas) {
def excludedProps = ['id', 'version']
def column = []
def titles = []
def outProperties
def locale = RCU.getLocale(request)
// def text
def args
def domainName = domain.toLowerCase()
GrailsDomainClass domainClass = ConverterUtil.getDomainClass(domain)
if (domainClass != null) {
outProperties = domainClass.properties.findAll {!excludedProps.contains(it.name)}
}
Collections.sort(outProperties, new DomainClassPropertyComparator(domainClass))
outProperties.each {
column << "${it.name}"
def text = messageSource.getMessage(
"${domainName}.${it.name}".toString(),
args == null ? null : args.toArray(),
"${domainName}.${it.name}".toString(),
locale)
titles << text
}
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
HSSFRow row
HSSFCell cell
HSSFCellStyle style = wb.createCellStyle()
HSSFFont font = wb.createFont()
font.setFontHeightInPoints((short)12)
font.setFontName("宋體")
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD)
style.setFont(font)
style.setAlignment(HSSFCellStyle.ALIGN_CENTER)
style.setFillBackgroundColor(HSSFColor.ORANGE.index)
// style.setFillPattern(HSSFCellStyle.)
// set the title
row = sheet.createRow((short) 0);
titles.eachWithIndex {title, i ->
cell = row.createCell((short) (i));
cell.setCellStyle(style)
cell.setCellValue(title);
}

// set the data
datas.eachWithIndex {data, i ->
row = sheet.createRow((short) (i+1));
column.eachWithIndex {p, j ->
row.createCell((short) (j)).setCellValue(data."${p}");

}

}

// Write the output to a file
wb.write(out);
out.close()

}

}

在你的 domaincontroller 中加入

Java代碼
def exportXls = {
// def excludedProps = ['id', 'version']
// def column = []
// def titles = []
// def outProperties = []
// GrailsDomainClass domainClass = ConverterUtil.getDomainClass("Person");
// if (domainClass != null) {
// domainClass.persistentProperties.each {p ->
// outProperties << p.name
// };
//
// }
// outProperties.each {
// column << "${it}"
// titles << message(code: "person.${it}")
// }
response.setHeader("Content-disposition", "attachment; filename=person.xls")
response.setContentType("application/vnd.ms-excel")
// ServletOutputStream f = response.getOutputStream();
xlsExportService.xlsExport(response.outputStream, request,"Person", Person.list())
// render(contextType:"application/vnd.ms-excel")

}

這個好處就是導出的表頭信息通過 properties來獲取!

2. Grails domain的查詢方法createCriteria,如果讓結果集按兩個或兩個以上的欄位排序呢

def c = Account.createCriteria()
def results = c.list {
like("holderFirstName", "Fred%")
and {
between("balance", 500, 1000)
eq("branch", "London")
}
maxResults(10)
order("holderLastName", "desc")
order("balance", "desc")
}

3. grails 是干什麼的 請詳細說明!

Grails是一套用於快速Web應用開發的開源框架,它基於Groovy編程語言,並構建於Spring、Hibernate和其它標准Java框架之上,從而為大家帶來一套能實現超高生產力的一站式框架。
Ruby on Rails開創了將一門強大的編程語言和一個堅持己見、提倡用通情達理的默認設置代替復雜配置的框架進行創造性結合的先河。然而,還有許多組織並沒有做好從Java的安全保護傘下走出的准備,也沒有打算放棄他們目前在Java上的投入。而Grails的出現,使得在一個以Java為中心的環境中實現同等生產力的想法成為可能。

Grails的插件系統

grails的插件系統也是其亮點之一。首先,和rails,django等web框架類似,基於微內核的思想,插件(可重用模塊)是框架的一等公民。grails除了核心模塊以外的功能幾乎都是通過插件方式實現的。實際上,一個grails插件和一個grails應用基本是完全一樣的,同樣可以使用grails run-app命令來運行。區別僅在於一個插件的根目錄下需要提供一個fooplugin.groovy文件,提供插件的一些描述信息。
grails插件基本可以做任何事情,grails社區已經提供了各式各樣的插件,發布在grails官方插件源上。查看現有的官方插件,可以執行下面的命令:
grails list-plugins
安裝插件可以執行以下命令:
grails install-plugin 插件名或插件路徑

Hello World示例

是時一個被用爛了而又經典的例子,在創建應用程序之前,先熟悉一下grails命令的使用(確保grails環境已配置好)。
grails command name
現在我們為了創建一個Grails應用,需要輸入的命令是create-app
grails create-app helloworld
這樣就在當前目錄下創建了一個名為helloworld(即我們的應用程序名)的文件夾,在這個文件夾中包含了我們這個項目的整個文件目錄,可以使用如下命令進入這個目錄中查看:
cd helloworld
為了完成這個經典的Hello World示例,我們需要運行create-controller命令,您先進入CMD命令行並執行:
grails create-controller hello
運行該命令後會在grails-app/controller目錄下創建一個名為HelloController.groovy的控制器 控制器主要用來完成對Web請求的處理,我們稍微修改一下控制器的內容,使它能夠在頁面上輸出Hello World!的字樣,代碼如下:
class HelloController { def world = { render Hello World! }} 現在控制器已經完成了,接下來要使用run-app來啟動內置的jetty伺服器運行剛剛創建的helloworld程序
grails run-app運行後會在8080埠(默認,可以使用-Dserver.port來指定埠)啟動伺服器,然後在瀏覽器中輸入http://localhost:8080/helloworld來啟動應用程序.

4. 用IntelliJ IDEA 8.0創建Grails項目的時候提示沒SDK

IntelliJ IDEA需要安裝JetGroovy插件。
安裝之後創建項目時選擇GRAILS.
如果項目已創建,則選擇file->project Structure->moles->展開項目名稱->GRAILS
從裡面選擇一個SDK,如果沒有就點擊」NEW",然後選擇下載的GRAILS所在目錄,新建一個。

5. 如何配置會話超時Grails應用程序

1. 另一種辦法是修改web.xml文件。在此之前你必須調用 grails install-templates

然後在編輯的src /模板/戰爭/ web.xml文件,添加/修改servlet的映射後: <session-config>
<session-timeout>60</session-timeout>
</session-config>

價值會話使用分鍾為單位。

2.
你可以看看這個博客通過代碼來設置會話間隔。

3.
我可能是錯的,但我敢肯定的會話與應用程序容器關聯。如果你的Tomcat,例如,您可以指定一個會話的長度。 教程改變Tomcat的會話長度。

4.
當前的Grails(2.x的)有一個非常奇怪的設計方法,以設定的主流觀念會話都不是很大的:出「//會話部分中的WebxmlGrails插件,並添加」sessionConfig。到Config.groovy中
Grails的安裝,模板,刪除會話從web.xml中,加入WebXmlConfig.groovy 等待修復。 :/
一位同事與下面的代碼,效果很好,並會做,直到一個真正的解決方案內置到Grails的核心。
只需將下面的添加到您的Config.groovy中文件的底部,然後設置相應的 grails.war.resources = { stagingDir, args ->
def webXML = new java.io.File("${stagingDir}/WEB-INF/web.xml")
webXML.text = webXML.text.replaceFirst("<session-timeout>30</session-timeout>", "<sesson-timeout>90</session-timeout>")
}

我的建議是正確的解決方案是允許一個單一的線在Config.groovy中的文件: session.timeout = 90;

6. 安裝Grails後進行run-app出現如下錯誤,java重裝後依然沒有解決

在run-app之後會自動讀取application.properties裡面需要的插件,如果沒有會自動從網路中下載 建議用SpringSource Tool Suite進行開發,很好用

7. intellij idea怎麼配置grails

IntelliJ IDEA需要安裝JetGroovy插件。
安裝好插件之後,
在FILE->NEW後選擇「Create project from scratch
然後在Select Type中就可以選擇"Grails Application"了,
這時新建的就是GRAILS程序。會自動包含controller domain view
在相應的部分按右鍵New->菜單下會包含Grails的domain controller service scipt taglib gsp這么六種文件選項。

8. grails中blank和nullable的區別

Grails是一套用於快速Web應用開發的開源框架,它基於Groovy編程語言,並構建於Spring、Hibernate和其它標准Java框架之上,從而為大家帶來一套能實現超高生產力的一站式框架。
Ruby on Rails開創了將一門強大的編程語言和一個堅持己見、提倡用通情達理的默認設置代替復雜配置的框架進行創造性結合的先河。然而,還有許多組織並沒有做好從Java的安全保護傘下走出的准備,也沒有打算放棄他們目前在Java上的投入。而Grails的出現,使得在一個以Java為中心的環境中實現同等生產力的想法成為可能。

Grails的插件系統

grails的插件系統也是其亮點之一。首先,和rails,django等web框架類似,基於微內核的思想,插件(可重用模塊)是框架的一等公民。grails除了核心模塊以外的功能幾乎都是通過插件方式實現的。實際上,一個grails插件和一個grails應用基本是完全一樣的,同樣可以使用grails run-app命令來運行。區別僅在於一個插件的根目錄下需要提供一個fooplugin.groovy文件,提供插件的一些描述信息。
grails插件基本可以做任何事情,grails社區已經提供了各式各樣的插件,發布在grails官方插件源上。查看現有的官方插件,可以執行下面的命令:
grails list-plugins
安裝插件可以執行以下命令:
grails install-plugin 插件名或插件路徑

9. 請問grails i18n插件使用中遇到Application metadata not found, please run: grails upgrade,如何解決

根據字面的意思,你應該在命令行方式下運行:grails upgrade

現在的grails都自帶i18n功能,不需要另外安裝插件。不知你的版本是多少,建議升級版本。
我的GRAILS程序的I18N文件在:程序目錄/grails-app/i18n目錄中。messages_zh_CN.properties

閱讀全文

與grails電子商務插件相關的資料

熱點內容
建材團購活動策劃方案 瀏覽:536
上海生太電子商務有限公司 瀏覽:358
活動比賽策劃方案 瀏覽:679
開一家外貿零售電子商務公司 瀏覽:140
最新幼兒園推廣普通話方案 瀏覽:56
農村旅遊開發策劃方案 瀏覽:812
山東中海電子商務有限公司怎麼樣 瀏覽:435
藝術學校文藝匯演策劃方案 瀏覽:106
社區兒童室內趣味活動策劃方案 瀏覽:218
電子商務系統規劃與設計簡答 瀏覽:482
社區文化周策劃方案 瀏覽:165
小學教師學科遠程培訓方案 瀏覽:249
潔凈工程售後人員培訓方案 瀏覽:892
介於淘寶同學課程的推廣方案 瀏覽:918
電子商務法律定義 瀏覽:487
電子商務訓練平台 瀏覽:264
培訓中心晚會策劃方案 瀏覽:779
體育賽事商業贊助策劃方案 瀏覽:589
物業公司內刊策劃方案 瀏覽:552
幼兒園元旦游園方案策劃 瀏覽:77