我想创建一个示例SaaS应用程序,用户可以使用自定义css注册,创建网页,使用模板和/或自定义它们,从自定义域提供网页.
我正在考虑在S3 /其他CDN上保存模板,以及media/stylesheets/js文件.虽然所有技术都可行(实用?可能有争议).无论如何,我很难搞清楚在这种情况下如何通过自定义域提供网站?例如,当他们注册时,他们可以获得一个subdomain.domain.com地址.但是,它们如何指向,customerdomain.com以便customerdomain.com输入时,它提供相同的内容customerdomain.domain.com,并保留URLcustomerdomain.com
另外,如果我想要一个" feature",那么自定义域可能是付费功能.我如何仅限付费用户?
通常,当我们设置网站时,我们在虚拟主机配置文件(apache)中指定它,并为其提供别名,以便查找并提供这些别名.在这种情况下,我不希望每个注册的人都有一个单独的vhost文件.还有其他选择吗?我该如何编程呢?有什么问题需要注意吗?
我看到的一个解决方案是让服务器为一个通配符域提供服务,即为*.domain.com每个自定义域提供单独的vhost,但是如果可以,我宁愿避免使用.
谢谢.
我正在构建一个简单的CRUD应用程序(不使用CRUD模块).
我的模型是一个带有一个属性的简单类.id是从Model隐式继承的.
@Entity
public class Account extends Model {
@Required
public String domain;
}
Run Code Online (Sandbox Code Playgroud)
该观点如下.请注意带有id的隐藏字段.
<form class="form-horizontal" action="@{Application.save}" method="POST">
<fieldset>
<legend>Settings</legend>
<input type="hidden" name="account.id" value="${account?.id}">
#{field 'account.domain'}
<div class="control-group #{if field.error != null} error #{/if}">
<label class="control-label" for="${field.id}">&{field.name}</label>
<div class="controls">
<input type="text" class="input-xlarge" id="${field.id}" value="${field.value}" name="${field.name}">
<span class="help-inline">${field.error}</span>
</div>
</div>
#{/field}
<div class="form-actions">
<input class="btn btn-primary" type="submit" value="Save">
</div>
</fieldset>
Run Code Online (Sandbox Code Playgroud)
我已经能够构建一个保存,更新工作的场景.
更新的方式是我从隐藏字段中读取ID,并更新记录.如果ID不可用,则会创建新记录.
所以问题是: ID是否可以被黑客攻击,即修改以便我将1更改为2,并假设存在2的记录,它将被覆盖.(我想用firebug或其他插件来说应该不难).
我该如何防止这种情况?我想到的一个选项是用给定的Id读取记录,如果允许用户修改它,我允许更新,否则不允许.这仍然不是万无一失的,因为虽然可以允许用户,但可以修改"错误"记录.
我想这是一个已知的问题,希望有一个已知的解决方案.
感谢您抽出宝贵时间回答我的问题.
我想@Messages在NetBeans中使用注释来简化我的应用程序中的本地化.但是,我找不到任何有关如何使用此机制为其他语言添加翻译(包)的信息.
使用的动作示例@Messages如下
@ActionID(category = "category",
id = "AddAction")
@ActionRegistration(iconBase = "actions/action-icon.png",
displayName = "#CTL_AddAction")
@ActionReferences({
@ActionReference(path = "Menu/Shapes", position = 160),
@ActionReference(path = "Toolbars/Shapes", position = 5133)
})
@Messages("CTL_AddAction=Add Action")
Run Code Online (Sandbox Code Playgroud)
如何根据语言改变添加操作?
netbeans localization internationalization netbeans-platform netbeans-7
Mongodb 的$week 运算符表示
\n\nTakes a date and returns the week of the year as a number between 0 and 53.\n\nWeeks begin on Sundays, and week 1 begins with the first Sunday of the year. Days \npreceding the first Sunday of the year are in week 0. This behavior is the same as the\n \xe2\x80\x9c%U\xe2\x80\x9d operator to the strftime standard library function.\nRun Code Online (Sandbox Code Playgroud)\n\n而 Java 日历的 DAY_OF_WEEK 返回略有不同(美国区域设置)。例如,对于 2013 年,mongo 的第 1 周实际上是第 2 周。
\n\n我的问题是,添加任意1并不能解决问题。是否有一个公式可以用来确定使用哪个周数来获取周开始日期。
\n\n …我有一个关于模板国际化的问题.
通常我们在模板中使用&{'key'}将其替换为本地化消息.
我有一个模板,如下所示.
#{extends 'base.html' /}
#{set pageTitle:'Opps - 404 Error'/}
Run Code Online (Sandbox Code Playgroud)
就像是
"&{'404.message'}"
Run Code Online (Sandbox Code Playgroud)
不起作用.
有没有人有什么建议?
谢谢.
在dropwizard中,我需要实现异步作业并轮询其状态。我在资源中有2个端点:
@Path("/jobs")
@Component
public class MyController {
@POST
@Produces(MediaType.APPLICATION_JSON)
public String startJob(@Valid MyRequest request) {
return 1111;
}
@GET
@Path("/{jobId}")
@Produces(MediaType.APPLICATION_JSON)
public JobStatus getJobStatus(@PathParam("id") String jobId) {
return JobStatus.READY;
}
}
Run Code Online (Sandbox Code Playgroud)
我正在考虑使用石英来开始工作,但只能一次,并且无需重复。当请求状态时,我将获得触发器状态。但是,将石英用于非预定用途的想法看起来很奇怪。有没有更好的方法呢?也许dropwizard本身提供了更好的工具?将提出任何建议。
更新:我也在看https://github.com/gresrun/jesque,但是找不到任何方法来轮询正在运行的作业的状态。
calendar ×1
dns ×1
dropwizard ×1
hosting ×1
java ×1
jesque ×1
jobs ×1
localization ×1
mongodb ×1
netbeans ×1
netbeans-7 ×1
saas ×1
spring ×1
week-number ×1